diff options
| author | jacob1 <jfu614@gmail.com> | 2012-09-20 00:30:39 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-25 19:05:42 (GMT) |
| commit | a9ccbf409b8970bde83a0f9d87b61d8192bfd525 (patch) | |
| tree | 7abe661cdb1d9f1c82bc357893981a2193804500 /src/colourpicker/ColourPickerActivity.cpp | |
| parent | a4f12d367b8575a051705883ea23796607dc5165 (diff) | |
| download | powder-a9ccbf409b8970bde83a0f9d87b61d8192bfd525.zip powder-a9ccbf409b8970bde83a0f9d87b61d8192bfd525.tar.gz | |
display hex value in deco editor (replaces Cancel button)
Diffstat (limited to 'src/colourpicker/ColourPickerActivity.cpp')
| -rw-r--r-- | src/colourpicker/ColourPickerActivity.cpp | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/src/colourpicker/ColourPickerActivity.cpp b/src/colourpicker/ColourPickerActivity.cpp index 16007e1..18e42d6 100644 --- a/src/colourpicker/ColourPickerActivity.cpp +++ b/src/colourpicker/ColourPickerActivity.cpp @@ -6,6 +6,7 @@ */ #include <algorithm> +#include <iomanip> #include "ColourPickerActivity.h" #include "interface/Textbox.h" #include "interface/Label.h" @@ -49,6 +50,7 @@ ColourPickerActivity::ColourPickerActivity(ui::Colour initialColour, ColourPicke if (alpha > 255) a->aValue->SetText("255"); a->currentAlpha = format::StringToNumber<int>(a->aValue->GetText()); + a->UpdateHexLabel(r, g, b, alpha); } }; @@ -76,16 +78,8 @@ ColourPickerActivity::ColourPickerActivity(ui::Colour initialColour, ColourPicke aValue->SetInputType(ui::Textbox::Number); AddComponent(aValue); - class CancelAction: public ui::ButtonAction - { - ColourPickerActivity * a; - public: - CancelAction(ColourPickerActivity * a) : a(a) { } - void ActionCallback(ui::Button * sender) - { - a->Exit(); - } - }; + hexValue = new::ui::Label(ui::Point(150, Size.Y-23), ui::Point(53, 17), "0xFFFFFFFF"); + AddComponent(hexValue); class OkayAction: public ui::ButtonAction { @@ -108,17 +102,24 @@ ColourPickerActivity::ColourPickerActivity(ui::Colour initialColour, ColourPicke AddComponent(doneButton); SetOkayButton(doneButton); - ui::Button * cancelButton = new ui::Button(ui::Point(Size.X-90, Size.Y-23), ui::Point(40, 17), "Cancel"); - cancelButton->SetActionCallback(new CancelAction(this)); - AddComponent(cancelButton); - SetCancelButton(cancelButton); - rValue->SetText(format::NumberToString<int>(initialColour.Red)); gValue->SetText(format::NumberToString<int>(initialColour.Green)); bValue->SetText(format::NumberToString<int>(initialColour.Blue)); aValue->SetText(format::NumberToString<int>(initialColour.Alpha)); RGB_to_HSV(initialColour.Red, initialColour.Green, initialColour.Blue, ¤tHue, ¤tSaturation, ¤tValue); currentAlpha = initialColour.Alpha; + UpdateHexLabel(initialColour.Red, initialColour.Green, initialColour.Blue, initialColour.Alpha); +} + +void ColourPickerActivity::UpdateHexLabel(int r, int g, int b, int a) +{ + std::stringstream hex; + hex << std::hex << "0x" << std::setfill('0') << std::setw(2) << std::uppercase << a << std::setw(2) << r << std::setw(2) << g << std::setw(2) << b; + hexValue->SetText(hex.str()); +} +void ColourPickerActivity::OnTryExit(ExitMethod method) +{ + Exit(); } void ColourPickerActivity::OnMouseMove(int x, int y, int dx, int dy) @@ -161,6 +162,7 @@ void ColourPickerActivity::OnMouseMove(int x, int y, int dx, int dy) rValue->SetText(format::NumberToString<int>(cr)); gValue->SetText(format::NumberToString<int>(cg)); bValue->SetText(format::NumberToString<int>(cb)); + UpdateHexLabel(cr, cg, cb, currentAlpha); } } @@ -202,6 +204,7 @@ void ColourPickerActivity::OnMouseDown(int x, int y, unsigned button) rValue->SetText(format::NumberToString<int>(cr)); gValue->SetText(format::NumberToString<int>(cg)); bValue->SetText(format::NumberToString<int>(cb)); + UpdateHexLabel(cr, cg, cb, currentAlpha); } } @@ -214,6 +217,7 @@ void ColourPickerActivity::OnMouseUp(int x, int y, unsigned button) rValue->SetText(format::NumberToString<int>(cr)); gValue->SetText(format::NumberToString<int>(cg)); bValue->SetText(format::NumberToString<int>(cb)); + UpdateHexLabel(cr, cg, cb, currentAlpha); } if(mouseDown) |
