Get a lot more views and controls on display.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29119 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -13,13 +13,16 @@
|
||||
#include <GroupLayoutBuilder.h>
|
||||
#include <ListView.h>
|
||||
#include <MenuBar.h>
|
||||
#include <MenuField.h>
|
||||
#include <MenuItem.h>
|
||||
#include <OptionControl.h>
|
||||
#include <OutlineListView.h>
|
||||
#include <PopUpMenu.h>
|
||||
#include <RadioButton.h>
|
||||
#include <ScrollBar.h>
|
||||
#include <ScrollView.h>
|
||||
#include <Slider.h>
|
||||
#include <SpaceLayoutItem.h>
|
||||
#include <StatusBar.h>
|
||||
#include <StringView.h>
|
||||
#include <TabView.h>
|
||||
@@ -46,6 +49,75 @@ add_controls(BGridLayout* layout, int32& row)
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
add_menu_fields(BGridLayout* layout, int32& row)
|
||||
{
|
||||
BPopUpMenu* menu1 = new BPopUpMenu("Selection");
|
||||
BMenuField* control1 = new BMenuField("Enabled", menu1, NULL);
|
||||
BPopUpMenu* menu2 = new BPopUpMenu("Selection");
|
||||
BMenuField* control2 = new BMenuField("Disabled", menu2, NULL);
|
||||
control2->SetEnabled(false);
|
||||
|
||||
layout->AddView(BGroupLayoutBuilder(B_HORIZONTAL, 5)
|
||||
.Add(control1)
|
||||
.Add(control2), 0, row, 3);
|
||||
|
||||
row++;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
add_text_controls(BGridLayout* layout, int32& row)
|
||||
{
|
||||
BTextControl* control1 = new BTextControl("Enabled", "Some Text", NULL);
|
||||
BTextControl* control2 = new BTextControl("Disabled", "More Text", NULL);
|
||||
control2->SetEnabled(false);
|
||||
|
||||
layout->AddView(BGroupLayoutBuilder(B_HORIZONTAL, 5)
|
||||
.Add(control1)
|
||||
.Add(control2), 0, row, 3);
|
||||
|
||||
row++;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
add_sliders(BGridLayout* layout, int32& row)
|
||||
{
|
||||
BSlider* control1 = new BSlider("slider 1", "Enabled", NULL, 1, 100,
|
||||
B_HORIZONTAL);
|
||||
BSlider* control2 = new BSlider("slider 2", "Disabled", NULL, 1, 100,
|
||||
B_HORIZONTAL);
|
||||
control2->SetEnabled(false);
|
||||
|
||||
control1->SetHashMarkCount(10);
|
||||
control1->SetHashMarks(B_HASH_MARKS_BOTTOM);
|
||||
control2->SetHashMarkCount(10);
|
||||
control2->SetHashMarks(B_HASH_MARKS_BOTTOM);
|
||||
|
||||
layout->AddView(BGroupLayoutBuilder(B_HORIZONTAL, 5)
|
||||
.Add(control1)
|
||||
.Add(control2), 0, row, 3);
|
||||
|
||||
row++;
|
||||
|
||||
control1 = new BSlider("slider 3", "Enabled", NULL, 1, 100,
|
||||
B_HORIZONTAL, B_TRIANGLE_THUMB);
|
||||
control2 = new BSlider("slider 4", "Disabled", NULL, 1, 100,
|
||||
B_HORIZONTAL, B_TRIANGLE_THUMB);
|
||||
control2->SetEnabled(false);
|
||||
|
||||
control1->SetLimitLabels("Min", "Max");
|
||||
control2->SetLimitLabels("1", "100");
|
||||
|
||||
layout->AddView(BGroupLayoutBuilder(B_HORIZONTAL, 5)
|
||||
.Add(control1)
|
||||
.Add(control2), 0, row, 3);
|
||||
|
||||
row++;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main(int argc, char** argv)
|
||||
{
|
||||
@@ -60,17 +132,80 @@ main(int argc, char** argv)
|
||||
|
||||
// create some controls
|
||||
|
||||
BGridView* view = new BGridView(5.0f, 5.0f);
|
||||
BGridLayout* layout = view->GridLayout();
|
||||
layout->SetInsets(5, 5, 5, 5);
|
||||
view->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNLIMITED));
|
||||
BListView* listView = new BListView();
|
||||
listView->AddItem(new BStringItem("List Item 1"));
|
||||
listView->AddItem(new BStringItem("List Item 2"));
|
||||
BScrollView* scrollView = new BScrollView("scroller", listView, 0,
|
||||
true, true);
|
||||
scrollView->SetExplicitMinSize(BSize(300, 80));
|
||||
|
||||
BGridView* controls = new BGridView(5.0f, 5.0f);
|
||||
BGridLayout* layout = controls->GridLayout();
|
||||
controls->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNLIMITED));
|
||||
|
||||
int32 row = 0;
|
||||
add_controls<BButton>(layout, row);
|
||||
add_controls<BCheckBox>(layout, row);
|
||||
add_controls<BRadioButton>(layout, row);
|
||||
add_menu_fields(layout, row);
|
||||
add_text_controls(layout, row);
|
||||
add_sliders(layout, row);
|
||||
|
||||
window->AddChild(view);
|
||||
BStatusBar* statusBar = new BStatusBar("status bar", "Status",
|
||||
"Completed");
|
||||
statusBar->SetMaxValue(100);
|
||||
statusBar->SetTo(40);
|
||||
statusBar->SetBarHeight(12);
|
||||
layout->AddView(statusBar, 0, row, 3);
|
||||
|
||||
row++;
|
||||
|
||||
BColorControl* colorControl = new BColorControl(B_ORIGIN, B_CELLS_32x8,
|
||||
8.0f, "color control");
|
||||
layout->AddView(colorControl, 0, row, 3);
|
||||
|
||||
BTabView* tabView = new BTabView("tab view", B_WIDTH_FROM_WIDEST);
|
||||
BView* content = BGroupLayoutBuilder(B_VERTICAL, 5)
|
||||
.Add(scrollView)
|
||||
.Add(controls)
|
||||
.SetInsets(5, 5, 5, 5);
|
||||
|
||||
content->SetName("Tab 1");
|
||||
|
||||
tabView->AddTab(content);
|
||||
tabView->AddTab(new BView("Tab 2", 0));
|
||||
tabView->AddTab(new BView("Tab 3", 0));
|
||||
|
||||
BMenuBar* menuBar = new BMenuBar("menu bar");
|
||||
BMenu* menu = new BMenu("File");
|
||||
BMenuItem* item = new BMenuItem("Quit", new BMessage(B_QUIT_REQUESTED));
|
||||
menu->AddItem(item);
|
||||
menuBar->AddItem(menu);
|
||||
menu = new BMenu("Edit");
|
||||
menu->SetEnabled(false);
|
||||
menu->AddItem(new BMenuItem("Cut", NULL));
|
||||
menu->AddItem(new BMenuItem("Copy", NULL));
|
||||
menu->AddSeparatorItem();
|
||||
menu->AddItem(new BMenuItem("Past", NULL));
|
||||
menuBar->AddItem(menu);
|
||||
|
||||
BButton* okButton = new BButton("Ok", new BMessage(B_QUIT_REQUESTED));
|
||||
|
||||
window->AddChild(BGroupLayoutBuilder(B_VERTICAL)
|
||||
.Add(menuBar)
|
||||
.Add(BGroupLayoutBuilder(B_VERTICAL, 5)
|
||||
.Add(tabView)
|
||||
.Add(BGroupLayoutBuilder(B_HORIZONTAL, 5)
|
||||
.Add(new BButton("Revert", NULL))
|
||||
.Add(BSpaceLayoutItem::CreateGlue())
|
||||
.Add(new BButton("Cancel", NULL))
|
||||
.Add(okButton)
|
||||
)
|
||||
.SetInsets(5, 5, 5, 5)
|
||||
)
|
||||
);
|
||||
|
||||
window->SetDefaultButton(okButton);
|
||||
|
||||
window->Show();
|
||||
app.Run();
|
||||
|
||||
Reference in New Issue
Block a user