1 ////////////////////////////////////////////////////////////////////////// 2 // 3 // pgAdmin III - PostgreSQL Tools 4 // Copyright (C) 2002 - 2016, The pgAdmin Development Team 5 // This software is released under the PostgreSQL Licence 6 // 7 // ddTextTableItemFigure.h - 8 // 9 ////////////////////////////////////////////////////////////////////////// 10 11 #ifndef DDTEXTTABLEITEMFIGURE_H 12 #define DDTEXTTABLEITEMFIGURE_H 13 14 15 #include <wx/arrstr.h> 16 17 #include "hotdraw/figures/hdSimpleTextFigure.h" 18 #include "dd/dditems/utilities/ddDataType.h" 19 20 enum 21 { 22 MNU_DDADDCOLUMN = 321, 23 MNU_DELCOLUMN, 24 MNU_RENAMECOLUMN, 25 MNU_AUTONAMCOLUMN, 26 MNU_NOTNULL, 27 MNU_PKEY, 28 MNU_UKEY, 29 MNU_TYPESERIAL, 30 MNU_TYPEBOOLEAN, 31 MNU_TYPEINTEGER, 32 MNU_TYPEMONEY, 33 MNU_TYPEVARCHAR, 34 MNU_TYPEOTHER, 35 MNU_TYPEPKEY_CONSTRAINTNAME, 36 MNU_TYPEUKEY_CONSTRAINTNAME, 37 MNU_DELTABLE 38 }; 39 40 class ddColumnFigure; 41 class ddTableFigure; 42 43 class ddTextTableItemFigure : public hdSimpleTextFigure 44 { 45 public: 46 ddTextTableItemFigure(wxString &columnName, ddDataType dataType, ddColumnFigure *owner); 47 ~ddTextTableItemFigure(); 48 virtual wxString &getText(bool extended = false); 49 wxString getType(bool raw = false); 50 virtual void setAlias(wxString alias); 51 virtual wxString getAlias(); 52 virtual void setOneTimeNoAlias(); 53 virtual void createMenu(wxMenu &mnu); 54 virtual const wxArrayString dataTypes(); 55 virtual void OnGenericPopupClick(wxCommandEvent &event, hdDrawingView *view); 56 virtual void setText(wxString textString); 57 virtual ddColumnFigure *getOwnerColumn(); 58 virtual void setOwnerColumn(ddColumnFigure *column); 59 virtual void setShowDataType(bool value); getShowDataType()60 virtual bool getShowDataType() 61 { 62 return showDataType; 63 }; 64 hdITool *CreateFigureTool(hdDrawingView *view, hdITool *defaultTool); 65 virtual void displayBoxUpdate(); 66 void recalculateDisplayBox(); 67 int getTextWidth(); 68 int getTextHeight(); 69 ddDataType getDataType(); 70 void setDataType(ddDataType type); 71 void setOwnerTable(ddTableFigure *table); //only used by columns working as table title figure for setAlias method 72 int getPrecision(); 73 int getScale(); 74 void setPrecision(int value); 75 void setScale(int value); 76 protected: 77 ddColumnFigure *ownerColumn; 78 ddTableFigure *ownerTable; 79 wxString colAlias; 80 private: 81 ddDataType columnType; 82 wxString out; 83 bool showDataType; 84 bool showAlias; 85 bool oneTimeNoAlias; 86 int precision; 87 int scale; 88 }; 89 #endif 90