Added min and max size to box attributes; made property editing more customisable

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70358 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2012-01-15 18:26:58 +00:00
parent 2148394afb
commit 303f0be79e
10 changed files with 1423 additions and 64 deletions

View File

@@ -588,10 +588,12 @@ public:
Sets the width.
*/
void SetWidth(int value, wxTextAttrDimensionFlags flags) { m_width.SetValue(value, flags); }
/**
Sets the width.
*/
void SetWidth(int value, wxTextAttrUnits units) { m_width.SetValue(value, units); }
/**
Sets the width.
*/
@@ -607,15 +609,22 @@ public:
Sets the height.
*/
void SetHeight(int value, wxTextAttrDimensionFlags flags) { m_height.SetValue(value, flags); }
/**
Sets the height.
*/
void SetHeight(int value, wxTextAttrUnits units) { m_height.SetValue(value, units); }
/**
Sets the height.
*/
void SetHeight(const wxTextAttrDimension& dim) { m_height.SetValue(dim); }
/**
Is the size valid?
*/
bool IsValid() const { return m_width.IsValid() && m_height.IsValid(); }
wxTextAttrDimension m_width;
wxTextAttrDimension m_height;
};
@@ -1322,11 +1331,35 @@ public:
wxTextAttrSize& GetSize() { return m_size; }
const wxTextAttrSize& GetSize() const { return m_size; }
/**
Returns the object minimum size.
*/
wxTextAttrSize& GetMinSize() { return m_minSize; }
const wxTextAttrSize& GetMinSize() const { return m_minSize; }
/**
Returns the object maximum size.
*/
wxTextAttrSize& GetMaxSize() { return m_maxSize; }
const wxTextAttrSize& GetMaxSize() const { return m_maxSize; }
/**
Sets the object size.
*/
void SetSize(const wxTextAttrSize& sz) { m_size = sz; }
/**
Sets the object minimum size.
*/
void SetMinSize(const wxTextAttrSize& sz) { m_minSize = sz; }
/**
Sets the object maximum size.
*/
void SetMaxSize(const wxTextAttrSize& sz) { m_maxSize = sz; }
/**
Returns the object width.
*/
@@ -1363,6 +1396,8 @@ public:
wxTextAttrDimensions m_position;
wxTextAttrSize m_size;
wxTextAttrSize m_minSize;
wxTextAttrSize m_maxSize;
wxTextAttrBorders m_border;
wxTextAttrBorders m_outline;

View File

@@ -135,7 +135,7 @@ public:
Adds appropriate menu items for the current container and clicked on object
(and container's parent, if appropriate).
*/
int AddItems(wxRichTextObject* container, wxRichTextObject* obj);
int AddItems(wxRichTextCtrl* ctrl, wxRichTextObject* container, wxRichTextObject* obj);
/**
Clears the items.
@@ -1621,6 +1621,16 @@ public:
*/
virtual int PrepareContextMenu(wxMenu* menu, const wxPoint& pt, bool addPropertyCommands = true);
/**
Returns @true if we can edit the object's properties via a GUI.
*/
virtual bool CanEditProperties(wxRichTextObject* obj) const { return obj->CanEditProperties(); }
/**
Edits the object's properties via a GUI.
*/
virtual bool EditProperties(wxRichTextObject* obj, wxWindow* parent) { return obj->EditProperties(parent, & GetBuffer()); }
// Command handlers
/**

View File

@@ -89,6 +89,18 @@ public:
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_HEIGHT
void OnRichtextHeightUpdate( wxUpdateUIEvent& event );
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_MIN_WIDTH
void OnRichtextMinWidthUpdate( wxUpdateUIEvent& event );
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_MIN_HEIGHT
void OnRichtextMinHeightUpdate( wxUpdateUIEvent& event );
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_MAX_WIDTH
void OnRichtextMaxWidthUpdate( wxUpdateUIEvent& event );
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_MAX_HEIGHT
void OnRichtextMaxHeightUpdate( wxUpdateUIEvent& event );
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX
void OnRichtextVerticalAlignmentComboboxUpdate( wxUpdateUIEvent& event );
@@ -125,6 +137,18 @@ public:
wxCheckBox* m_heightCheckbox;
wxTextCtrl* m_height;
wxComboBox* m_unitsH;
wxCheckBox* m_minWidthCheckbox;
wxTextCtrl* m_minWidth;
wxComboBox* m_unitsMinW;
wxCheckBox* m_minHeightCheckbox;
wxTextCtrl* m_minHeight;
wxComboBox* m_unitsMinH;
wxCheckBox* m_maxWidthCheckbox;
wxTextCtrl* m_maxWidth;
wxComboBox* m_unitsMaxW;
wxCheckBox* m_maxHeightCheckbox;
wxTextCtrl* m_maxHeight;
wxComboBox* m_unitsMaxH;
wxBoxSizer* m_alignmentControls;
wxCheckBox* m_verticalAlignmentCheckbox;
wxComboBox* m_verticalAlignmentComboBox;
@@ -144,6 +168,18 @@ public:
ID_RICHTEXT_HEIGHT_CHECKBOX = 10705,
ID_RICHTEXT_HEIGHT = 10706,
ID_RICHTEXT_UNITS_H = 10707,
ID_RICHTEXT_MIN_WIDTH_CHECKBOX = 10715,
ID_RICHTEXT_MIN_WIDTH = 10716,
ID_RICHTEXT_UNITS_MIN_W = 10717,
ID_RICHTEXT_MIN_HEIGHT_CHECKBOX = 10718,
ID_RICHTEXT_MIN_HEIGHT = 10719,
ID_RICHTEXT_UNITS_MIN_H = 10720,
ID_RICHTEXT_MAX_WIDTH_CHECKBOX = 10721,
ID_RICHTEXT_MAX_WIDTH = 10722,
ID_RICHTEXT_UNITS_MAX_W = 10723,
ID_RICHTEXT_MAX_HEIGHT_CHECKBOX = 10724,
ID_RICHTEXT_MAX_HEIGHT = 10725,
ID_RICHTEXT_UNITS_MAX_H = 10726,
ID_RICHTEXT_VERTICAL_ALIGNMENT_CHECKBOX = 10708,
ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX = 10709,
ID_RICHTEXT_OFFSET_CHECKBOX = 10710,