summaryrefslogtreecommitdiff
path: root/src/interface/Label.h
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-06-26 19:57:10 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-06-26 19:57:10 (GMT)
commitab6fed71d74371e2d38372eae71ee26a7ef214df (patch)
tree4f139ad5501bb66dcc9c4770d1ceb7be6e159284 /src/interface/Label.h
parente26cb8ce2f69b81442194bd2310cfc3ea6bb6f5f (diff)
downloadpowder-ab6fed71d74371e2d38372eae71ee26a7ef214df.zip
powder-ab6fed71d74371e2d38372eae71ee26a7ef214df.tar.gz
Replace textblock with new multiline label - with text selection!!!!111!!!one!!
Diffstat (limited to 'src/interface/Label.h')
-rw-r--r--src/interface/Label.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/interface/Label.h b/src/interface/Label.h
index 08c5fad..e154c0e 100644
--- a/src/interface/Label.h
+++ b/src/interface/Label.h
@@ -12,20 +12,44 @@ namespace ui
class Label : public Component
{
protected:
+ std::string textFragments;
+ std::string textLines;
+
std::string text;
Colour textColour;
+ int caret;
+ int selectionIndex0;
+ int selectionIndex1;
+
+ int selectionXL;
+ int selectionXH;
+ int selectionYL;
+ int selectionYH;
+ int selectionLineL;
+ int selectionLineH;
+
+ bool multiline;
+ bool selecting;
+ bool autoHeight;
+
+ void updateMultiline();
+ void updateSelection();
public:
//Label(Window* parent_state, std::string labelText);
Label(Point position, Point size, std::string labelText);
//Label(std::string labelText);
virtual ~Label();
+ virtual void SetMultiline(bool status);
virtual void SetText(std::string text);
virtual std::string GetText();
void SetTextColour(Colour textColour) { this->textColour = textColour; }
+ virtual void OnMouseClick(int x, int y, unsigned button);
+ virtual void OnMouseUp(int x, int y, unsigned button);
+ virtual void OnMouseMoved(int localx, int localy, int dx, int dy);
virtual void Draw(const Point& screenPos);
};
}