1 //////////////////////////////////////////////////////////////////////////
2 //
3 // pgAdmin III - PostgreSQL Tools
4 //
5 // Copyright (C) 2002 - 2016, The pgAdmin Development Team
6 // This software is released under the PostgreSQL Licence
7 //
8 // hdSimpleTextFigure.h - A simple rectangle  figure with text inside it
9 //
10 //////////////////////////////////////////////////////////////////////////
11 
12 #ifndef HDSIMPLETEXTFIGURE_H
13 #define HDSIMPLETEXTFIGURE_H
14 #include "hotdraw/figures/hdAttributeFigure.h"
15 
16 class hdDrawingView;
17 
18 class hdSimpleTextFigure : public hdAttributeFigure
19 {
20 public:
21 	hdSimpleTextFigure(wxString textString);
22 	~hdSimpleTextFigure();
23 	virtual void setText(wxString textString);
24 	virtual wxString &getText(bool extended = false);
25 	virtual void setEditable(bool value);
26 	virtual bool getEditable();
27 	virtual void setFont(wxFont textFont);
28 	virtual int getPadding();
29 	void basicMoveBy(int posIdx, int x, int y);
30 	virtual void basicDraw(wxBufferedDC &context, hdDrawingView *view);
31 	virtual void basicDrawSelected(wxBufferedDC &context, hdDrawingView *view);
32 	virtual hdITool *CreateFigureTool(hdDrawingView *view, hdITool *defaultTool);
createMenu(wxMenu & mnu)33 	virtual void createMenu(wxMenu &mnu) {}
34 	virtual void enablePopUp();
35 	virtual void disablePopUp();
36 	virtual bool menuEnabled();
37 	virtual void OnGenericPopupClick(wxCommandEvent &event, hdDrawingView *view);
38 protected:
39 	virtual void getFontMetrics(int &width, int &height);
40 	virtual void recalculateDisplayBox();
41 	wxArrayString strings;
42 	bool showMenu;
43 	bool textEditable;
44 private:
45 	int padding;
46 	wxString text;
47 	wxFont font;
48 
49 };
50 #endif
51