diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-05 17:35:12 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-05 17:35:12 (GMT) |
| commit | 4ce22e4e7705224a9b4c1b9bfa8886de0029a3e3 (patch) | |
| tree | d9c02db57d9a20709758d7b771ee60ea9cbe4e88 /src/options/OptionsView.cpp | |
| parent | 30f8049efc6efc086509d235df413e4932dab83e (diff) | |
| download | powder-4ce22e4e7705224a9b4c1b9bfa8886de0029a3e3.zip powder-4ce22e4e7705224a9b4c1b9bfa8886de0029a3e3.tar.gz | |
Wall Edge option, fixes #70
Diffstat (limited to 'src/options/OptionsView.cpp')
| -rw-r--r-- | src/options/OptionsView.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/options/OptionsView.cpp b/src/options/OptionsView.cpp index 1e0aea7..002bc8d 100644 --- a/src/options/OptionsView.cpp +++ b/src/options/OptionsView.cpp @@ -12,7 +12,7 @@ #include "interface/DropDown.h" OptionsView::OptionsView(): - ui::Window(ui::Point(-1, -1), ui::Point(300, 206)){ + ui::Window(ui::Point(-1, -1), ui::Point(300, 226)){ ui::Label * tempLabel = new ui::Label(ui::Point(4, 5), ui::Point(Size.X-8, 14), "Simulation Options"); tempLabel->SetTextColour(style::Colour::InformationTitle); @@ -118,6 +118,24 @@ OptionsView::OptionsView(): tempLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; tempLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle; AddComponent(tempLabel); + class EdgeModeChanged: public ui::DropDownAction + { + OptionsView * v; + public: + EdgeModeChanged(OptionsView * v): v(v) { } + virtual void OptionChanged(ui::DropDown * sender, std::pair<std::string, int> option) { v->c->SetEdgeMode(option.second); } + }; + + edgeMode = new ui::DropDown(ui::Point(Size.X-88, 186), ui::Point(80, 16)); + AddComponent(edgeMode); + edgeMode->AddOption(std::pair<std::string, int>("Void", 0)); + edgeMode->AddOption(std::pair<std::string, int>("Solid", 1)); + edgeMode->SetActionCallback(new EdgeModeChanged(this)); + + tempLabel = new ui::Label(ui::Point(8, 186), ui::Point(Size.X-96, 16), "Edge Mode"); + tempLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; tempLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle; + AddComponent(tempLabel); + class CloseAction: public ui::ButtonAction { @@ -145,6 +163,7 @@ void OptionsView::NotifySettingsChanged(OptionsModel * sender) waterEqualisation->SetChecked(sender->GetWaterEqualisation()); airMode->SetOption(sender->GetAirMode()); gravityMode->SetOption(sender->GetGravityMode()); + edgeMode->SetOption(sender->GetEdgeMode()); } void OptionsView::AttachController(OptionsController * c_) |
