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 <GroupLayoutBuilder.h>
|
||||||
#include <ListView.h>
|
#include <ListView.h>
|
||||||
#include <MenuBar.h>
|
#include <MenuBar.h>
|
||||||
|
#include <MenuField.h>
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
#include <OptionControl.h>
|
#include <OptionControl.h>
|
||||||
#include <OutlineListView.h>
|
#include <OutlineListView.h>
|
||||||
|
#include <PopUpMenu.h>
|
||||||
#include <RadioButton.h>
|
#include <RadioButton.h>
|
||||||
#include <ScrollBar.h>
|
#include <ScrollBar.h>
|
||||||
#include <ScrollView.h>
|
#include <ScrollView.h>
|
||||||
#include <Slider.h>
|
#include <Slider.h>
|
||||||
|
#include <SpaceLayoutItem.h>
|
||||||
#include <StatusBar.h>
|
#include <StatusBar.h>
|
||||||
#include <StringView.h>
|
#include <StringView.h>
|
||||||
#include <TabView.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
|
int
|
||||||
main(int argc, char** argv)
|
main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
@@ -60,17 +132,80 @@ main(int argc, char** argv)
|
|||||||
|
|
||||||
// create some controls
|
// create some controls
|
||||||
|
|
||||||
BGridView* view = new BGridView(5.0f, 5.0f);
|
BListView* listView = new BListView();
|
||||||
BGridLayout* layout = view->GridLayout();
|
listView->AddItem(new BStringItem("List Item 1"));
|
||||||
layout->SetInsets(5, 5, 5, 5);
|
listView->AddItem(new BStringItem("List Item 2"));
|
||||||
view->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNLIMITED));
|
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;
|
int32 row = 0;
|
||||||
add_controls<BButton>(layout, row);
|
add_controls<BButton>(layout, row);
|
||||||
add_controls<BCheckBox>(layout, row);
|
add_controls<BCheckBox>(layout, row);
|
||||||
add_controls<BRadioButton>(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();
|
window->Show();
|
||||||
app.Run();
|
app.Run();
|
||||||
|
|||||||
Reference in New Issue
Block a user