00001 #include <gui/MessageBox.h>
00002 #include <gui/MessageQueue.h>
00003 #include <gui/Button.h>
00004 #include <gui/LayoutView.h>
00005 #include <gui/TopView.h>
00006 #include <gui/Exceptions.h>
00007 #include <gui/Window.h>
00008 #include <gui/StringView.h>
00009 #include <gui/ApplicationWindow.h>
00010 #include <gui/Application.h>
00011 #include <gui/Menu.h>
00012 #include <gui/TextView.h>
00013 #include <gui/StatusBar.h>
00014 #include <gui/CheckBox.h>
00015 #include <iostream>
00016
00017 using namespace SkyGI;
00018
00019 class MyLayoutView : public View
00020 {
00021 public:
00022 MyLayoutView(Window *pParent, const Rect &rFrame, unsigned int nWindowLayoutFlags);
00023 LayoutView *pLayoutView;
00024 };
00025
00026 MyLayoutView::MyLayoutView(Window *pParent, const Rect &rFrame, unsigned int nWindowLayoutFlags) : View(pParent, rFrame, nWindowLayoutFlags)
00027 {
00028 TextView *pTextView;
00029 pLayoutView = new LayoutViewVertical(this, Rect(0,0,0,0), WINDOW_LAYOUT_SAME_WIDTH | WINDOW_LAYOUT_SAME_HEIGHT);
00030
00031 pLayoutView->SetObjectName("LayoutView");
00032
00033 pTextView = new TextView(pLayoutView, Rect(0,0,100,0), 0, 0);
00034 pTextView->Set("Weight 1, Width 100");
00035 pTextView->SetObjectName("pTextView1");
00036 pLayoutView->Add(pTextView, 1, 0);
00037
00038
00039 pTextView = new TextView(pLayoutView, Rect(0,0,200,0), 0, 0);
00040 pTextView->Set("Weight 2, Width 200");
00041 pTextView->SetObjectName("pTextView2");
00042 pLayoutView->Add(pTextView, 2, 0);
00043
00044 pTextView = new TextView(pLayoutView, Rect(0,0,200,0), WINDOW_LAYOUT_SAME_WIDTH, 0);
00045 pTextView->Set("Weight 1, Same width");
00046 pLayoutView->Add(pTextView, 1, 0);
00047
00048 pTextView = new TextView(pLayoutView, Rect(40,0,0,0), WINDOW_LAYOUT_SAME_WIDTH, 0);
00049 pTextView->Set("Weight 1, Same width, offset by 40");
00050 pLayoutView->Add(pTextView, 1, 0);
00051
00052 pTextView = new TextView(pLayoutView, Rect(0,0,100,0), WINDOW_LAYOUT_FOLLOW_RIGHT, 0);
00053 pTextView->Set("Weight 1,follow right");
00054 pLayoutView->Add(pTextView, 1, 0);
00055
00056 pTextView = new TextView(pLayoutView, Rect(10,0,100,0), WINDOW_LAYOUT_FOLLOW_H, 0);
00057 pTextView->Set("Weight 1\nfollow horizontal");
00058 pLayoutView->Add(pTextView, 1, 0);
00059
00060 pTextView = new TextView(pLayoutView, Rect(10,0,100,0), WINDOW_LAYOUT_CENTER_H, 0);
00061 pTextView->Set("Weight 1\ncenter horizontal");
00062 pLayoutView->Add(pTextView, 1, 0);
00063
00064 pTextView = new TextView(pLayoutView, Rect(0,0,0,60), WINDOW_LAYOUT_SAME_WIDTH, 0);
00065 pTextView->Set("Weight 1, same width, fix size 60");
00066 pLayoutView->Add(pTextView, 0, LAYOUTFLAG_FIXED_SIZE);
00067
00068 pLayoutView->ReLayout();
00069
00070 }
00071
00072 void LayoutViewTest()
00073 {
00074 Rect r(Point(100, 100), Point(400, 440));
00075
00076 ApplicationWindow* pApplicationWindow = new ApplicationWindow(r, "LayoutView", WINDOW_LAYOUT_NOTHING, APPLICATION_WINDOW_NO_VIEW);
00077
00078 pApplicationWindow->GetTitleWindow()->SetFlags( (TitleWindowFlags)(pApplicationWindow->GetTitleWindow()->GetFlags() ));
00079 pApplicationWindow->AttachView(new MyLayoutView(pApplicationWindow, pApplicationWindow->GetClientRect(), WINDOW_LAYOUT_NOTHING));
00080 pApplicationWindow->Show();
00081 }
00082