layoutview.cpp

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 

Generated on Thu Dec 13 18:13:10 2007 for SkyGI by  doxygen 1.5.1-p1