Merge pull request #344 from RobinD42/master-cherrypick-wxPy

Docs and other updates for wxPython
This commit is contained in:
Robin Dunn
2017-01-23 20:05:45 -08:00
committed by GitHub
35 changed files with 1459 additions and 52 deletions

View File

@@ -106,7 +106,7 @@ public:
virtual wxWindow* GetContentWindow() const wxOVERRIDE;
// Set and get the inner sizer
void SetInnerSize(wxSizer* sizer) { m_innerSizer = sizer; }
void SetInnerSizer(wxSizer* sizer) { m_innerSizer = sizer; }
wxSizer* GetInnerSizer() const { return m_innerSizer ; }
// Set and get the book style

View File

@@ -472,9 +472,17 @@ public:
long GetMask() const { return m_item.m_mask; }
const wxListItem& GetItem() const { return m_item; }
void SetKeyCode(int code) { m_code = code; }
void SetIndex(long index) { m_itemIndex = index; }
void SetColumn(int col) { m_col = col; }
void SetPoint(const wxPoint& point) { m_pointDrag = point; }
void SetItem(const wxListItem& item) { m_item = item; }
// for wxEVT_LIST_CACHE_HINT only
long GetCacheFrom() const { return m_oldItemIndex; }
long GetCacheTo() const { return m_itemIndex; }
void SetCacheFrom(long cacheFrom) { m_oldItemIndex = cacheFrom; }
void SetCacheTo(long cacheTo) { m_itemIndex = cacheTo; }
// was label editing canceled? (for wxEVT_LIST_END_LABEL_EDIT only)
bool IsEditCancelled() const { return m_editCancelled; }

View File

@@ -677,6 +677,7 @@ public:
private:
wxVector<wxPGChoiceEntry> m_items;
protected:
virtual ~wxPGChoicesData();
};

View File

@@ -179,10 +179,13 @@ typedef void (wxEvtHandler::*wxRibbonGalleryEventFunction)(wxRibbonGalleryEvent&
// wxpython/swig event work
%constant wxEventType wxEVT_RIBBONGALLERY_HOVER_CHANGED;
%constant wxEventType wxEVT_RIBBONGALLERY_SELECTED;
%constant wxEventType wxEVT_RIBBONGALLERY_CLICKED;
%pythoncode {
EVT_RIBBONGALLERY_HOVER_CHANGED = wx.PyEventBinder( wxEVT_RIBBONGALLERY_HOVER_CHANGED, 1 )
EVT_RIBBONGALLERY_SELECTED = wx.PyEventBinder( wxEVT_RIBBONGALLERY_SELECTED, 1 )
EVT_RIBBONGALLERY_CLICKED = wx.PyEventBinder( wxEVT_RIBBONGALLERY_CLICKED, 1 )
}
#endif // SWIG

View File

@@ -161,6 +161,16 @@ public:
*/
void SetDocWriters(const wxArrayString& docwriters);
/**
Returns @true if an icon has been set for the about dialog.
*/
bool HasIcon() const;
/**
Returns the icon set by SetIcon().
*/
wxIcon GetIcon() const;
/**
Set the icon to be shown in the dialog. By default the icon of the main frame
will be shown if the native about dialog supports custom icons. If it doesn't
@@ -170,6 +180,18 @@ public:
*/
void SetIcon(const wxIcon& icon);
/**
Returns @true if the licence string has been set.
*/
bool HasLicence() const;
/**
Returns the licence string.
@see SetLicence()
*/
const wxString& GetLicence() const;
/**
Set the long, multiline string containing the text of the program licence.
@@ -213,6 +235,35 @@ public:
*/
void SetVersion(const wxString& version, const wxString& longVersion = wxString());
/**
Return the short version string.
@see SetVersion()
*/
const wxString& GetVersion() const;
/**
Return the long version string if set.
@see SetVersion()
*/
const wxString& GetLongVersion() const;
/**
Returns @true if the website info has been set.
*/
bool HasWebSite() const;
/**
Returns the website URL set for the dialog.
*/
const wxString& GetWebSiteURL() const;
/**
Returns the description of the website URL set for the dialog.
*/
const wxString& GetWebSiteDescription() const;
/**
Set the web site for the program and its description (which defaults to @a url
itself if empty).
@@ -223,6 +274,49 @@ public:
*/
void SetWebSite(const wxString& url,
const wxString& desc = wxEmptyString);
/**
Returns @true if developers have been set in the dialog info.
*/
bool HasDevelopers() const;
/**
Returns an array of the developer strings set in the dialog info.
*/
const wxArrayString& GetDevelopers() const;
/**
Returns @true if writers have been set in the dialog info.
*/
bool HasDocWriters() const;
/**
Returns an array of the writer strings set in the dialog info.
*/
const wxArrayString& GetDocWriters() const;
/**
Returns @true if artists have been set in the dialog info.
*/
bool HasArtists() const;
/**
Returns an array of the artist strings set in the dialog info.
*/
const wxArrayString& GetArtists() const;
/**
Returns @true if translators have been set in the dialog info.
*/
bool HasTranslators() const;
/**
Returns an array of the translator strings set in the dialog info.
*/
const wxArrayString& GetTranslators() const;
};

View File

@@ -409,7 +409,7 @@ protected:
wxArtID unique identifier of the bitmap.
@param client
wxArtClient identifier of the client (i.e. who is asking for the bitmap).
This only servers as a hint.
This only serves as a hint.
@param size
Preferred size of the bitmap. The function may return a bitmap of different
dimensions, it will be automatically rescaled to meet client's request.

View File

@@ -148,6 +148,10 @@ enum wxAuiToolBarToolTextOrientation
class wxAuiToolBarEvent : public wxNotifyEvent
{
public:
wxAuiToolBarEvent(wxEventType commandType = wxEVT_NULL,
int winId = 0);
wxAuiToolBarEvent(const wxAuiToolBarEvent& c);
/**
Returns whether the drop down menu has been clicked.
*/
@@ -167,8 +171,20 @@ public:
Returns the wxAuiToolBarItem identifier.
*/
int GetToolId() const;
void SetDropDownClicked(bool c);
void SetClickPoint(const wxPoint& p);
void SetItemRect(const wxRect& r);
void SetToolId(int toolId);
};
wxEventType wxEVT_AUITOOLBAR_TOOL_DROPDOWN;
wxEventType wxEVT_AUITOOLBAR_OVERFLOW_CLICK;
wxEventType wxEVT_AUITOOLBAR_RIGHT_CLICK;
wxEventType wxEVT_AUITOOLBAR_MIDDLE_CLICK;
wxEventType wxEVT_AUITOOLBAR_BEGIN_DRAG;
/**
@class wxAuiToolBarItem

View File

@@ -5,6 +5,32 @@
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
enum wxAuiNotebookOption
{
wxAUI_NB_TOP = 1 << 0,
wxAUI_NB_LEFT = 1 << 1, // not implemented yet
wxAUI_NB_RIGHT = 1 << 2, // not implemented yet
wxAUI_NB_BOTTOM = 1 << 3,
wxAUI_NB_TAB_SPLIT = 1 << 4,
wxAUI_NB_TAB_MOVE = 1 << 5,
wxAUI_NB_TAB_EXTERNAL_MOVE = 1 << 6,
wxAUI_NB_TAB_FIXED_WIDTH = 1 << 7,
wxAUI_NB_SCROLL_BUTTONS = 1 << 8,
wxAUI_NB_WINDOWLIST_BUTTON = 1 << 9,
wxAUI_NB_CLOSE_BUTTON = 1 << 10,
wxAUI_NB_CLOSE_ON_ACTIVE_TAB = 1 << 11,
wxAUI_NB_CLOSE_ON_ALL_TABS = 1 << 12,
wxAUI_NB_MIDDLE_CLICK_CLOSE = 1 << 13,
wxAUI_NB_DEFAULT_STYLE = wxAUI_NB_TOP |
wxAUI_NB_TAB_SPLIT |
wxAUI_NB_TAB_MOVE |
wxAUI_NB_SCROLL_BUTTONS |
wxAUI_NB_CLOSE_ON_ACTIVE_TAB |
wxAUI_NB_MIDDLE_CLICK_CLOSE
};
/**
@class wxAuiNotebook
@@ -20,9 +46,9 @@
splitter configurations, and toggle through different themes to customize
the control's look and feel.
The appearance of this class is configurable and can be changed by calling
wxAuiNotebook::SetArtProvider(). By default, native art provider is used if
available (currently only in wxGTK and wxMSW) and wxAuiGenericTabArt otherwise.
The default theme that is used is wxAuiDefaultTabArt, which provides a modern,
glossy look and feel.
The theme can be changed by calling wxAuiNotebook::SetArtProvider.
@beginStyleTable
@style{wxAUI_NB_DEFAULT_STYLE}
@@ -270,7 +296,7 @@ public:
@since 2.9.3
*/
virtual bool InsertPage(size_t index, wxWindow *page, const wxString &text,
bool select=false, int imageId=NO_IMAGE);
bool select, int imageId);
/**
Removes a page, without deleting the window pointer.
@@ -373,8 +399,35 @@ public:
and returns @true if a selection was made.
*/
bool ShowWindowMenu();
/**
Returns the image index for the given page.
*/
virtual int GetPageImage(size_t nPage) const;
};
/**
@class wxAuiNotebookPage
A simple class which holds information about the notebook's pages and their state.
@library{wxaui}
@category{aui}
*/
class wxAuiNotebookPage
{
public:
wxWindow* window; // page's associated window
wxString caption; // caption displayed on the tab
wxString tooltip; // tooltip displayed when hovering over tab title
wxBitmap bitmap; // tab's bitmap
wxRect rect; // tab's hit rectangle
bool active; // true if the page is currently active
};
/**
@class wxAuiTabContainerButton

View File

@@ -281,3 +281,102 @@ public:
virtual void SetMetric(int id, int new_val) = 0;
};
/**
@class wxAuiDefaultDockArt
This is the default art provider for @ref wxAuiManager. Dock art
can be customized by creating a class derived from this one,
or replacing this class entirely.
*/
class wxAuiDefaultDockArt : public wxAuiDockArt
{
public:
wxAuiDefaultDockArt();
int GetMetric(int metricId);
void SetMetric(int metricId, int newVal);
wxColour GetColour(int id);
void SetColour(int id, const wxColour& colour);
void SetFont(int id, const wxFont& font);
wxFont GetFont(int id);
void DrawSash(wxDC& dc,
wxWindow *window,
int orientation,
const wxRect& rect);
void DrawBackground(wxDC& dc,
wxWindow *window,
int orientation,
const wxRect& rect);
void DrawCaption(wxDC& dc,
wxWindow *window,
const wxString& text,
const wxRect& rect,
wxAuiPaneInfo& pane);
void DrawGripper(wxDC& dc,
wxWindow *window,
const wxRect& rect,
wxAuiPaneInfo& pane);
void DrawBorder(wxDC& dc,
wxWindow *window,
const wxRect& rect,
wxAuiPaneInfo& pane);
void DrawPaneButton(wxDC& dc,
wxWindow *window,
int button,
int buttonState,
const wxRect& rect,
wxAuiPaneInfo& pane);
void DrawIcon(wxDC& dc,
const wxRect& rect,
wxAuiPaneInfo& pane);
protected:
void DrawCaptionBackground(wxDC& dc, const wxRect& rect, bool active);
void InitBitmaps();
protected:
wxPen m_borderPen;
wxBrush m_sashBrush;
wxBrush m_backgroundBrush;
wxBrush m_gripperBrush;
wxFont m_captionFont;
wxBitmap m_inactiveCloseBitmap;
wxBitmap m_inactivePinBitmap;
wxBitmap m_inactiveMaximizeBitmap;
wxBitmap m_inactiveRestoreBitmap;
wxBitmap m_activeCloseBitmap;
wxBitmap m_activePinBitmap;
wxBitmap m_activeMaximizeBitmap;
wxBitmap m_activeRestoreBitmap;
wxPen m_gripperPen1;
wxPen m_gripperPen2;
wxPen m_gripperPen3;
wxColour m_baseColour;
wxColour m_activeCaptionColour;
wxColour m_activeCaptionGradientColour;
wxColour m_activeCaptionTextColour;
wxColour m_inactiveCaptionColour;
wxColour m_inactiveCaptionGradientColour;
wxColour m_inactiveCaptionTextColour;
int m_borderSize;
int m_captionSize;
int m_sashSize;
int m_buttonSize;
int m_gripperSize;
int m_gradientType;
};

View File

@@ -917,6 +917,63 @@ public:
Makes a copy of the wxAuiPaneInfo object.
*/
wxAuiPaneInfo& operator=(const wxAuiPaneInfo& c);
/// name of the pane
wxString name;
/// caption displayed on the window
wxString caption;
/// icon of the pane, may be invalid
wxBitmap icon;
/// window that is in this pane
wxWindow* window;
/// floating frame window that holds the pane
wxFrame* frame;
/// a combination of wxPaneState values
unsigned int state;
/// dock direction (top, bottom, left, right, center)
int dock_direction;
/// layer number (0 = innermost layer)
int dock_layer;
/// row number on the docking bar (0 = first row)
int dock_row;
/// position inside the row (0 = first position)
int dock_pos;
/// size that the layout engine will prefer
wxSize best_size;
/// minimum size the pane window can tolerate
wxSize min_size;
/// maximum size the pane window can tolerate
wxSize max_size;
/// position while floating
wxPoint floating_pos;
/// size while floating
wxSize floating_size;
/// proportion while docked
int dock_proportion;
/// buttons on the pane
wxAuiPaneButtonArray buttons;
/// current rectangle (populated by wxAUI)
wxRect rect;
bool IsValid() const;
};
@@ -1023,3 +1080,74 @@ public:
void Veto(bool veto = true);
};
wxEventType wxEVT_AUI_PANE_BUTTON;
wxEventType wxEVT_AUI_PANE_CLOSE;
wxEventType wxEVT_AUI_PANE_MAXIMIZE;
wxEventType wxEVT_AUI_PANE_RESTORE;
wxEventType wxEVT_AUI_PANE_ACTIVATED;
wxEventType wxEVT_AUI_RENDER;
wxEventType wxEVT_AUI_FIND_MANAGER;
class wxAuiDockInfo
{
public:
wxAuiDockInfo();
wxAuiDockInfo(const wxAuiDockInfo& c);
wxAuiDockInfo& operator=(const wxAuiDockInfo& c);
bool IsOk() const;
bool IsHorizontal() const;
bool IsVertical() const;
wxAuiPaneInfoPtrArray panes; // array of panes
wxRect rect; // current rectangle
int dock_direction; // dock direction (top, bottom, left, right, center)
int dock_layer; // layer number (0 = innermost layer)
int dock_row; // row number on the docking bar (0 = first row)
int size; // size of the dock
int min_size; // minimum size of a dock (0 if there is no min)
bool resizable; // flag indicating whether the dock is resizable
bool toolbar; // flag indicating dock contains only toolbars
bool fixed; // flag indicating that the dock operates on
// absolute coordinates as opposed to proportional
bool reserved1;
};
class wxAuiDockUIPart
{
public:
enum
{
typeCaption,
typeGripper,
typeDock,
typeDockSizer,
typePane,
typePaneSizer,
typeBackground,
typePaneBorder,
typePaneButton
};
int type; // ui part type (see enum above)
int orientation; // orientation (either wxHORIZONTAL or wxVERTICAL)
wxAuiDockInfo* dock; // which dock the item is associated with
wxAuiPaneInfo* pane; // which pane the item is associated with
wxAuiPaneButton* button; // which pane button the item is associated with
wxSizer* cont_sizer; // the part's containing sizer
wxSizerItem* sizer_item; // the sizer item of the part
wxRect rect; // client coord rectangle of the part itself
};
class wxAuiPaneButton
{
public:
int button_id; // id of the button (e.g. buttonClose)
};

140
interface/wx/aui/tabmdi.h Normal file
View File

@@ -0,0 +1,140 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/aui/tabmdi.h
// Purpose: Documentation of wxAui MDI classes.
// Created: 2016-10-27
// Copyright: (c) 2016 wxWidgets development team
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
class wxAuiMDIParentFrame : public wxFrame
{
public:
wxAuiMDIParentFrame();
wxAuiMDIParentFrame(wxWindow *parent,
wxWindowID winid,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
const wxString& name = wxFrameNameStr);
~wxAuiMDIParentFrame();
bool Create(wxWindow *parent,
wxWindowID winid,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
const wxString& name = wxFrameNameStr );
void SetArtProvider(wxAuiTabArt* provider);
wxAuiTabArt* GetArtProvider();
wxAuiNotebook* GetNotebook() const;
wxMenu* GetWindowMenu() const;
void SetWindowMenu(wxMenu* pMenu);
virtual void SetMenuBar(wxMenuBar *pMenuBar);
void SetChildMenuBar(wxAuiMDIChildFrame *pChild);
wxAuiMDIChildFrame *GetActiveChild() const;
void SetActiveChild(wxAuiMDIChildFrame* pChildFrame);
wxAuiMDIClientWindow *GetClientWindow() const;
virtual wxAuiMDIClientWindow *OnCreateClient();
virtual void Cascade();
virtual void Tile(wxOrientation orient = wxHORIZONTAL);
virtual void ArrangeIcons();
virtual void ActivateNext();
virtual void ActivatePrevious();
};
class wxAuiMDIChildFrame : public wxPanel
{
public:
wxAuiMDIChildFrame();
wxAuiMDIChildFrame(wxAuiMDIParentFrame *parent,
wxWindowID winid,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxFrameNameStr);
virtual ~wxAuiMDIChildFrame();
bool Create(wxAuiMDIParentFrame *parent,
wxWindowID winid,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxFrameNameStr);
virtual void SetMenuBar(wxMenuBar *menuBar);
virtual wxMenuBar *GetMenuBar() const;
virtual void SetTitle(const wxString& title);
virtual wxString GetTitle() const;
virtual void SetIcons(const wxIconBundle& icons);
virtual const wxIconBundle& GetIcons() const;
virtual void SetIcon(const wxIcon& icon);
virtual const wxIcon& GetIcon() const;
virtual void Activate();
virtual bool Destroy();
virtual bool Show(bool show = true);
// no status bars
virtual wxStatusBar* CreateStatusBar(int number = 1,
long style = 1,
wxWindowID winid = 1,
const wxString& name = wxEmptyString);
virtual wxStatusBar *GetStatusBar() const;
virtual void SetStatusText( const wxString &text, int number=0 );
virtual void SetStatusWidths( int n, const int widths_field[] );
// no toolbar bars
virtual wxToolBar* CreateToolBar(long style,
wxWindowID winid,
const wxString& name);
virtual wxToolBar *GetToolBar() const;
// no maximize etc
virtual void Maximize(bool maximize = true);
virtual void Restore();
virtual void Iconize(bool iconize = true);
virtual bool IsMaximized() const;
virtual bool IsIconized() const;
virtual bool ShowFullScreen(bool show, long style);
virtual bool IsFullScreen() const;
virtual bool IsTopLevel() const;
void SetMDIParentFrame(wxAuiMDIParentFrame* parent);
wxAuiMDIParentFrame* GetMDIParentFrame() const;
};
class wxAuiMDIClientWindow : public wxAuiNotebook
{
public:
wxAuiMDIClientWindow();
wxAuiMDIClientWindow(wxAuiMDIParentFrame *parent, long style = 0);
virtual bool CreateClient(wxAuiMDIParentFrame *parent,
long style = wxVSCROLL | wxHSCROLL);
virtual int SetSelection(size_t page);
virtual wxAuiMDIChildFrame* GetActiveChild();
virtual void SetActiveChild(wxAuiMDIChildFrame* pChildFrame);
};

View File

@@ -470,7 +470,7 @@ public:
@since 2.9.5
*/
wxFont(const wxFontInfo& font);
wxFont(const wxFontInfo& fontInfo);
/**
Creates a font object with the specified attributes and size in points.

View File

@@ -90,6 +90,9 @@ public:
*/
static void AddFile(const wxString& filename, wxImage& image, wxBitmapType type);
static void AddFile(const wxString& filename, const wxBitmap& bitmap, wxBitmapType type);
static void AddFile(const wxString& filename, const wxString& textdata);
static void AddFile(const wxString& filename, const void *binarydata, size_t size);
//@}
//@{

View File

@@ -801,7 +801,10 @@ public:
Row,
/// Return the attribute set for this cells column.
Col
Col,
Default,
Merged
};
/**
@@ -978,6 +981,22 @@ public:
*/
void SetTextColour(const wxColour& colText);
void MergeWith(wxGridCellAttr *mergefrom);
void SetSize(int num_rows, int num_cols);
void SetOverflow(bool allow = true);
void SetKind(wxAttrKind kind);
bool HasReadWriteMode() const;
bool HasOverflowMode() const;
bool HasSize() const;
void GetSize(int *num_rows, int *num_cols) const;
bool GetOverflow() const;
wxAttrKind GetKind();
protected:
/**

View File

@@ -435,6 +435,13 @@ public:
Sets the cell's position within parent container.
*/
virtual void SetPos(int x, int y);
/**
Converts the cell into text representation. If sel != NULL then
only part of the cell inside the selection is converted.
*/
virtual wxString ConvertToText(wxHtmlSelection* sel) const;
};

View File

@@ -221,6 +221,11 @@ public:
*/
wxString GetOpenedPageTitle() const;
/**
Returns a pointer to the current parser.
*/
wxHtmlWinParser *GetParser() const;
/**
Returns the related frame.
*/

View File

@@ -1505,6 +1505,44 @@ public:
admittedly rare case when the user wants to rename it to an empty string).
*/
bool IsEditCancelled() const;
/**
@see GetKeyCode()
*/
void SetKeyCode(int code);
/**
@see GetIndex()
*/
void SetIndex(long index);
/**
@see GetColumn()
*/
void SetColumn(int col);
/**
@see GetPoint()
*/
void SetPoint(const wxPoint& point);
/**
@see GetItem()
*/
void SetItem(const wxListItem& item);
/**
@see GetCacheFrom()
*/
void SetCacheFrom(long cacheFrom);
/**
@see GetCacheTo()
*/
void SetCacheTo(long cacheTo);
};

View File

@@ -372,13 +372,13 @@ public:
/**
Same as Load(const wxURI& uri). Kept for wxPython compatibility.
*/
bool LoadURI(const wxString& fileName);
bool LoadURI(const wxString& uri);
/**
Same as Load(const wxURI& uri, const wxURI& proxy).
Kept for wxPython compatibility.
*/
bool LoadURIWithProxy(const wxString& fileName, const wxString& proxy);
bool LoadURIWithProxy(const wxString& uri, const wxString& proxy);
/**
Pauses playback of the movie.

View File

@@ -107,6 +107,11 @@ enum wxPropertySheetDialogFlags
class wxPropertySheetDialog : public wxDialog
{
public:
/**
Default constructor. Call Create if using this form of constructor.
*/
wxPropertySheetDialog();
/**
Constructor.
*/
@@ -159,6 +164,11 @@ public:
*/
wxSizer* GetInnerSizer() const;
/**
Set the inner sizer that contains the book control and button sizer.
*/
void SetInnerSizer(wxSizer* sizer);
/**
Returns the sheet style.
@@ -186,5 +196,31 @@ public:
It is a bit list of the ::wxPropertySheetDialogFlags values.
*/
void SetSheetStyle(long style);
/**
Set the border around the whole dialog
*/
void SetSheetOuterBorder(int border);
/**
Returns the border around the whole dialog
*/
int GetSheetOuterBorder() const;
/**
Set the border around the book control only.
*/
void SetSheetInnerBorder(int border);
/**
Returns the border around the book control only.
*/
int GetSheetInnerBorder() const;
virtual wxWindow* GetContentWindow() const;
};

View File

@@ -5,6 +5,26 @@
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
@class wxPGWindowList
Contains a list of editor windows returned by CreateControls.
*/
class wxPGWindowList
{
public:
wxPGWindowList();
void SetSecondary( wxWindow* secondary );
wxWindow* m_primary;
wxWindow* m_secondary;
wxPGWindowList( wxWindow* a );
wxPGWindowList( wxWindow* a, wxWindow* b );
};
/**
@class wxPGEditor
@@ -18,7 +38,7 @@
calling wxPropertyGrid::RegisterAdditionalEditors() prior use.
- Pointer to built-in editor is available as wxPGEditor_EditorName
(eg. wxPGEditor_TextCtrl).
(e.g. wxPGEditor_TextCtrl).
- Before you start using new editor you just created, you need to register
it using static function
@@ -93,7 +113,7 @@ public:
@remarks wxPropertyGrid will automatically unfocus the editor when
@c wxEVT_TEXT_ENTER is received and when it results in
property value being modified. This happens regardless of
editor type (ie. behaviour is same for any wxTextCtrl and
editor type (i.e. behaviour is same for any wxTextCtrl and
wxComboBox based editor).
*/
virtual bool OnEvent( wxPropertyGrid* propgrid, wxPGProperty* property,
@@ -109,7 +129,7 @@ public:
/** Sets value in control to unspecified. */
virtual void SetValueToUnspecified( wxPGProperty* property,
wxWindow* ctrl ) const = 0;
wxWindow* ctrl ) const;
/**
Called by property grid to set new appearance for the control.
@@ -166,6 +186,228 @@ public:
Default implementation returns @false.
*/
virtual bool CanContainCustomImage() const;
//
// This member is public so scripting language bindings
// wrapper code can access it freely.
void* m_clientData;
};
class wxPGTextCtrlEditor : public wxPGEditor
{
public:
wxPGTextCtrlEditor();
virtual ~wxPGTextCtrlEditor();
virtual wxPGWindowList CreateControls(wxPropertyGrid* propgrid,
wxPGProperty* property,
const wxPoint& pos,
const wxSize& size) const;
virtual void UpdateControl( wxPGProperty* property,
wxWindow* ctrl ) const;
virtual bool OnEvent( wxPropertyGrid* propgrid,
wxPGProperty* property,
wxWindow* primaryCtrl,
wxEvent& event ) const;
virtual bool GetValueFromControl( wxVariant& variant,
wxPGProperty* property,
wxWindow* ctrl ) const;
virtual wxString GetName() const;
virtual void SetControlStringValue( wxPGProperty* property,
wxWindow* ctrl,
const wxString& txt ) const;
virtual void OnFocus( wxPGProperty* property, wxWindow* wnd ) const;
static bool OnTextCtrlEvent( wxPropertyGrid* propgrid,
wxPGProperty* property,
wxWindow* ctrl,
wxEvent& event );
static bool GetTextCtrlValueFromControl( wxVariant& variant,
wxPGProperty* property,
wxWindow* ctrl );
};
class wxPGChoiceEditor : public wxPGEditor
{
public:
wxPGChoiceEditor()
virtual ~wxPGChoiceEditor();
virtual wxPGWindowList CreateControls(wxPropertyGrid* propgrid,
wxPGProperty* property,
const wxPoint& pos,
const wxSize& size) const;
virtual void UpdateControl( wxPGProperty* property,
wxWindow* ctrl ) const;
virtual bool OnEvent( wxPropertyGrid* propgrid,
wxPGProperty* property,
wxWindow* primaryCtrl,
wxEvent& event ) const;
virtual bool GetValueFromControl( wxVariant& variant,
wxPGProperty* property,
wxWindow* ctrl ) const;
virtual void SetValueToUnspecified( wxPGProperty* property,
wxWindow* ctrl ) const;
virtual wxString GetName() const;
virtual void SetControlIntValue( wxPGProperty* property,
wxWindow* ctrl,
int value ) const;
virtual void SetControlStringValue( wxPGProperty* property,
wxWindow* ctrl,
const wxString& txt ) const;
virtual int InsertItem( wxWindow* ctrl,
const wxString& label,
int index ) const;
virtual void DeleteItem( wxWindow* ctrl, int index ) const;
virtual bool CanContainCustomImage() const;
wxWindow* CreateControlsBase( wxPropertyGrid* propgrid,
wxPGProperty* property,
const wxPoint& pos,
const wxSize& sz,
long extraStyle ) const;
};
class wxPGComboBoxEditor : public wxPGChoiceEditor
{
public:
wxPGComboBoxEditor();
virtual ~wxPGComboBoxEditor();
virtual wxPGWindowList CreateControls(wxPropertyGrid* propgrid,
wxPGProperty* property,
const wxPoint& pos,
const wxSize& size) const;
virtual wxString GetName() const;
virtual void UpdateControl( wxPGProperty* property, wxWindow* ctrl ) const;
virtual bool OnEvent( wxPropertyGrid* propgrid, wxPGProperty* property,
wxWindow* ctrl, wxEvent& event ) const;
virtual bool GetValueFromControl( wxVariant& variant,
wxPGProperty* property,
wxWindow* ctrl ) const;
virtual void OnFocus( wxPGProperty* property, wxWindow* wnd ) const;
};
class wxPGChoiceAndButtonEditor : public wxPGChoiceEditor
{
public:
wxPGChoiceAndButtonEditor();
virtual ~wxPGChoiceAndButtonEditor();
virtual wxString GetName() const;
virtual wxPGWindowList CreateControls(wxPropertyGrid* propgrid,
wxPGProperty* property,
const wxPoint& pos,
const wxSize& size) const;
};
class wxPGTextCtrlAndButtonEditor : public wxPGTextCtrlEditor
{
public:
wxPGTextCtrlAndButtonEditor();
virtual ~wxPGTextCtrlAndButtonEditor();
virtual wxString GetName() const;
virtual wxPGWindowList CreateControls(wxPropertyGrid* propgrid,
wxPGProperty* property,
const wxPoint& pos,
const wxSize& size) const;
};
class wxPGCheckBoxEditor : public wxPGEditor
{
public:
wxPGCheckBoxEditor();
virtual ~wxPGCheckBoxEditor();
virtual wxString GetName() const;
virtual wxPGWindowList CreateControls(wxPropertyGrid* propgrid,
wxPGProperty* property,
const wxPoint& pos,
const wxSize& size) const;
virtual void UpdateControl( wxPGProperty* property,
wxWindow* ctrl ) const;
virtual bool OnEvent( wxPropertyGrid* propgrid,
wxPGProperty* property,
wxWindow* primaryCtrl,
wxEvent& event ) const;
virtual bool GetValueFromControl( wxVariant& variant,
wxPGProperty* property,
wxWindow* ctrl ) const;
virtual void SetValueToUnspecified( wxPGProperty* property,
wxWindow* ctrl ) const;
virtual void DrawValue( wxDC& dc,
const wxRect& rect,
wxPGProperty* property,
const wxString& text ) const;
virtual void SetControlIntValue( wxPGProperty* property,
wxWindow* ctrl,
int value ) const;
};
/**
@class wxPGEditorDialogAdapter
Derive a class from this to adapt an existing editor dialog or function to
be used when editor button of a property is pushed.
You only need to derive class and implement DoShowDialog() to create and
show the dialog, and finally submit the value returned by the dialog
via SetValue().
@library{wxpropgrid}
@category{propgrid}
*/
class wxPGEditorDialogAdapter : public wxObject
{
public:
wxPGEditorDialogAdapter();
virtual ~wxPGEditorDialogAdapter();
bool ShowDialog( wxPropertyGrid* propGrid, wxPGProperty* property );
virtual bool DoShowDialog( wxPropertyGrid* propGrid,
wxPGProperty* property ) = 0;
void SetValue( wxVariant value );
/**
This method is typically only used if deriving class from existing
adapter with value conversion purposes.
*/
wxVariant& GetValue() { return m_value; }
//
// This member is public so scripting language bindings
// wrapper code can access it freely.
void* m_clientData;
};

View File

@@ -36,8 +36,9 @@
@library{wxpropgrid}
@category{propgrid}
*/
class WXDLLIMPEXP_PROPGRID wxPropertyGridPage : public wxEvtHandler,
public wxPropertyGridInterface
class wxPropertyGridPage : public wxEvtHandler,
public wxPropertyGridInterface,
public wxPropertyGridPageState
{
friend class wxPropertyGridManager;
@@ -171,6 +172,8 @@ public:
wxPG_TOOLBAR |
// Include description box.
wxPG_DESCRIPTION |
// Include compactor.
wxPG_COMPACTOR |
// Plus defaults.
wxPGMAN_DEFAULT_STYLE
);
@@ -211,8 +214,16 @@ class wxPropertyGridManager : public wxPanel, public wxPropertyGridInterface
{
public:
/**
The default constructor. The styles to be used are styles valid for
the wxWindow.
Two step constructor.
Call Create when this constructor is called to build up the
wxPropertyGridManager.
*/
wxPropertyGridManager();
/**
The default constructor. The styles to be used are styles valid for
the wxWindow.
@see @link wndflags Additional Window Styles @endlink
*/
wxPropertyGridManager( wxWindow *parent, wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
@@ -410,7 +421,7 @@ public:
bool IsAnyModified() const;
/**
Returns @true if updating is frozen (ie. Freeze() called but not yet Thaw() ).
Returns @true if updating is frozen (i.e. Freeze() called but not yet Thaw() ).
*/
bool IsFrozen() const;
@@ -487,7 +498,7 @@ public:
labels to be shown in full.
@param subProps
If @false, will still allow sub-properties (ie. properties which
If @false, will still allow sub-properties (i.e. properties which
parent is not root or category) to be cropped.
@param allPages
@@ -541,7 +552,7 @@ protected:
/**
Creates property grid for the manager. Reimplement in derived class to
use subclassed wxPropertyGrid. However, if you do this then you
must also use the two-step construction (ie. default constructor and
must also use the two-step construction (i.e. default constructor and
Create() instead of constructor with arguments) when creating the
manager.
*/

View File

@@ -146,6 +146,8 @@ struct wxPGPaintData
/** Specific to wxFileProperty and derivatives, long, default is 0.
Sets a specific wxFileDialog style for the file dialog, e.g. ::wxFD_SAVE.
@since 2.9.4
*/
#define wxPG_FILE_DIALOG_STYLE wxS("DialogStyle")
@@ -337,12 +339,12 @@ wxPG_PROP_USES_COMMON_VALUE = 0x00020000,
*/
wxPG_PROP_AUTO_UNSPECIFIED = 0x00040000,
/** Indicates the bit usable by derived properties.
/** Indicates the bit useable by derived properties.
@hideinitializer
*/
wxPG_PROP_CLASS_SPECIFIC_1 = 0x00080000,
/** Indicates the bit usable by derived properties.
/** Indicates the bit useable by derived properties.
@hideinitializer
*/
wxPG_PROP_CLASS_SPECIFIC_2 = 0x00100000,
@@ -447,6 +449,7 @@ wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
Like wxStringProperty, but converts text to a signed long integer.
wxIntProperty seamlessly supports 64-bit integers (i.e. wxLongLong) on overlfow.
To safely convert variant to integer, use code like this:
@code
wxLongLong ll;
ll << property->GetValue();
@@ -611,7 +614,7 @@ wxPG_PROP_CLASS_SPECIFIC_3 = 0x00400000
manually edit the flags as a text; a continuous sequence of spaces, commas
and semicolons are considered as a flag id separator.
<b>Note:</b> When changing "choices" (ie. flag labels) of wxFlagsProperty,
<b>Note:</b> When changing "choices" (i.e. flag labels) of wxFlagsProperty,
you will need to use wxPGProperty::SetChoices() - otherwise they will not
get updated properly.
@@ -1250,6 +1253,15 @@ public:
*/
int AddChoice( const wxString& label, int value = wxPG_INVALID_VALUE );
/**
Adds a private child property.
@deprecated Use AddPrivateChild() instead.
@see AddPrivateChild()
*/
void AddChild( wxPGProperty* prop );
/**
Adds a private child property. If you use this instead of
wxPropertyGridInterface::Insert() or
@@ -1379,7 +1391,7 @@ public:
*/
const wxPGEditor* GetColumnEditor( int column ) const;
/** Returns property's base name (ie. parent's name is not added
/** Returns property's base name (i.e. parent's name is not added
in any case).
*/
const wxString& GetBaseName() const;
@@ -1559,6 +1571,14 @@ public:
*/
virtual wxString GetValueAsString( int argFlags = 0 ) const;
/** Synonymous to GetValueAsString().
@deprecated Use GetValueAsString() instead.
@see GetValueAsString()
*/
wxString GetValueString( int argFlags = 0 ) const;
/**
Returns value type used by this property.
*/
@@ -1667,10 +1687,11 @@ public:
bool IsRoot() const;
/**
Returns true if this is a sub-property.
Returns true if this is a sub-property.
*/
bool IsSubProperty() const;
/**
Returns @true if candidateParent is some parent of this property.
Use, for example, to detect if item is inside collapsed section.
@@ -2368,6 +2389,55 @@ public:
// -----------------------------------------------------------------------
/**
@class wxPGChoiceEntry
Data of a single wxPGChoices choice.
*/
class wxPGChoiceEntry : public wxPGCell
{
public:
wxPGChoiceEntry();
wxPGChoiceEntry(const wxPGChoiceEntry& other);
wxPGChoiceEntry( const wxString& label,
int value = wxPG_INVALID_VALUE );
virtual ~wxPGChoiceEntry();
void SetValue( int value );
int GetValue() const;
wxPGChoiceEntry& operator=( const wxPGChoiceEntry& other );
};
class wxPGChoicesData : public wxObjectRefData
{
public:
// Constructor sets m_refCount to 1.
wxPGChoicesData();
void CopyDataFrom( wxPGChoicesData* data );
wxPGChoiceEntry& Insert( int index, const wxPGChoiceEntry& item );
// Delete all entries
void Clear();
unsigned int GetCount() const;
const wxPGChoiceEntry& Item( unsigned int i ) const;
wxPGChoiceEntry& Item( unsigned int i );
protected:
virtual ~wxPGChoicesData();
};
#define wxPGChoicesEmptyData ((wxPGChoicesData*)NULL)
/**
@class wxPGChoices

View File

@@ -331,7 +331,7 @@ wxPG_VFB_DEFAULT = wxPG_VFB_MARK_CELL |
#define wxPGVFBFlags unsigned char
/**
wxPGValidationInfo
@class wxPGValidationInfo
Used to convey validation information to and from functions that
actually perform validation. Mostly used in custom property classes.
@@ -920,7 +920,7 @@ public:
bool IsEditorFocused() const;
/**
Returns true if updating is frozen (ie. Freeze() called but not
Returns true if updating is frozen (i.e. Freeze() called but not
yet Thaw() ).
*/
bool IsFrozen() const;

View File

@@ -142,7 +142,7 @@ public:
Refresh() when calling this function after control has been shown for
the first time.
- This functions deselects selected property, if any. Validation
failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, ie.
failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, i.e.
selection is cleared even if editor had invalid value.
*/
wxPGProperty* Append( wxPGProperty* property );
@@ -171,7 +171,7 @@ public:
Deletes all properties.
@remarks This functions deselects selected property, if any. Validation
failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, ie.
failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, i.e.
selection is cleared even if editor had invalid value.
*/
virtual void Clear() = 0;
@@ -206,7 +206,7 @@ public:
@return Returns @true if actually collapsed.
@remarks This function may deselect selected property, if any. Validation
failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, ie.
failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, i.e.
selection is cleared even if editor had invalid value.
*/
bool Collapse( wxPGPropArg id );
@@ -218,7 +218,7 @@ public:
Return @false if failed (may fail if editor value cannot be validated).
@remarks This functions clears selection. Validation failure option
wxPG_VFB_STAY_IN_PROPERTY is not respected, ie. selection
wxPG_VFB_STAY_IN_PROPERTY is not respected, i.e. selection
is cleared even if editor had invalid value.
*/
bool CollapseAll();
@@ -244,7 +244,7 @@ public:
This functions deselects selected property, if any.
Validation failure option wxPG_VFB_STAY_IN_PROPERTY is not
respected, ie. selection is cleared even if editor had
respected, i.e. selection is cleared even if editor had
invalid value.
*/
void DeleteProperty( wxPGPropArg id );
@@ -295,7 +295,7 @@ public:
@return Returns @true if actually expanded.
@remarks This function may deselect selected property, if any. Validation
failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, ie.
failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, i.e.
selection is cleared even if editor had invalid value.
*/
bool Expand( wxPGPropArg id );
@@ -304,7 +304,7 @@ public:
Expands all items that can be expanded.
@remarks This functions clears selection. Validation failure option
wxPG_VFB_STAY_IN_PROPERTY is not respected, ie. selection
wxPG_VFB_STAY_IN_PROPERTY is not respected, i.e. selection
is cleared even if editor had invalid value.
*/
bool ExpandAll( bool expand = true );
@@ -626,7 +626,7 @@ public:
especially true if current mode is non-categoric.
- This functions deselects selected property, if any. Validation
failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, ie.
failure option wxPG_VFB_STAY_IN_PROPERTY is not respected, i.e.
selection is cleared even if editor had invalid value.
Example of use:

View File

@@ -129,7 +129,7 @@ wxPG_ITERATOR_MASK_OP_PARENT = wxPG_ITERATOR_FLAGS_ALL,
/**
Combines all flags needed to iterate through visible properties
(ie. hidden properties and children of collapsed parents are skipped).
(i.e. hidden properties and children of collapsed parents are skipped).
@hideinitializer
*/
wxPG_ITERATE_VISIBLE = wxPG_ITERATE_PROPERTIES |

View File

@@ -278,7 +278,7 @@ public:
@see SetColourScheme()
*/
virtual void SetColour(int id, const wxColor& colour) = 0;
virtual void SetColour(int id, const wxColour& colour) = 0;
/**
@see wxRibbonArtProvider::GetColour()
@@ -586,7 +586,7 @@ public:
wxDC& dc,
wxWindow* wnd,
const wxRect& rect,
wxRibbonButtonBarButtonKind kind,
wxRibbonButtonKind kind,
long state,
const wxString& label,
const wxBitmap& bitmap_large,
@@ -862,7 +862,7 @@ public:
/**
Calculate the client size of a wxRibbonGallery control for a given
size. This should act as the inverse to GetGallerySize(), and decrement
the given size by enough to fir the gallery border, buttons, and other
the given size by enough to fit the gallery border, buttons, and other
chrome.
@param dc
@@ -950,7 +950,7 @@ public:
virtual bool GetButtonBarButtonSize(
wxDC& dc,
wxWindow* wnd,
wxRibbonButtonBarButtonKind kind,
wxRibbonButtonKind kind,
wxRibbonButtonBarButtonState size,
const wxString& label,
wxSize bitmap_size_large,
@@ -1028,3 +1028,344 @@ public:
*/
virtual wxRect GetRibbonHelpButtonArea(const wxRect& rect) = 0;
};
class wxRibbonMSWArtProvider : public wxRibbonArtProvider
{
public:
wxRibbonMSWArtProvider(bool set_colour_scheme = true);
virtual ~wxRibbonMSWArtProvider();
wxRibbonArtProvider* Clone() const;
void SetFlags(long flags);
long GetFlags() const;
int GetMetric(int id) const;
void SetMetric(int id, int new_val);
void SetFont(int id, const wxFont& font);
wxFont GetFont(int id) const;
wxColour GetColour(int id) const;
void SetColour(int id, const wxColour& colour);
void GetColourScheme(wxColour* primary,
wxColour* secondary,
wxColour* tertiary) const;
void SetColourScheme(const wxColour& primary,
const wxColour& secondary,
const wxColour& tertiary);
int GetTabCtrlHeight(
wxDC& dc,
wxWindow* wnd,
const wxRibbonPageTabInfoArray& pages);
void DrawTabCtrlBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
void DrawTab(wxDC& dc,
wxWindow* wnd,
const wxRibbonPageTabInfo& tab);
void DrawTabSeparator(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect,
double visibility);
void DrawPageBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
void DrawScrollButton(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect,
long style);
void DrawPanelBackground(
wxDC& dc,
wxRibbonPanel* wnd,
const wxRect& rect);
void DrawGalleryBackground(
wxDC& dc,
wxRibbonGallery* wnd,
const wxRect& rect);
void DrawGalleryItemBackground(
wxDC& dc,
wxRibbonGallery* wnd,
const wxRect& rect,
wxRibbonGalleryItem* item);
void DrawMinimisedPanel(
wxDC& dc,
wxRibbonPanel* wnd,
const wxRect& rect,
wxBitmap& bitmap);
void DrawButtonBarBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
void DrawButtonBarButton(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect,
wxRibbonButtonKind kind,
long state,
const wxString& label,
const wxBitmap& bitmap_large,
const wxBitmap& bitmap_small);
void DrawToolBarBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
void DrawToolGroupBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
void DrawTool(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect,
const wxBitmap& bitmap,
wxRibbonButtonKind kind,
long state);
void DrawToggleButton(
wxDC& dc,
wxRibbonBar* wnd,
const wxRect& rect,
wxRibbonDisplayMode mode);
void DrawHelpButton(wxDC& dc,
wxRibbonBar* wnd,
const wxRect& rect);
void GetBarTabWidth(
wxDC& dc,
wxWindow* wnd,
const wxString& label,
const wxBitmap& bitmap,
int* ideal,
int* small_begin_need_separator,
int* small_must_have_separator,
int* minimum);
wxSize GetScrollButtonMinimumSize(
wxDC& dc,
wxWindow* wnd,
long style);
wxSize GetPanelSize(
wxDC& dc,
const wxRibbonPanel* wnd,
wxSize client_size,
wxPoint* client_offset);
wxSize GetPanelClientSize(
wxDC& dc,
const wxRibbonPanel* wnd,
wxSize size,
wxPoint* client_offset);
wxRect GetPanelExtButtonArea(
wxDC& dc,
const wxRibbonPanel* wnd,
wxRect rect);
wxSize GetGallerySize(
wxDC& dc,
const wxRibbonGallery* wnd,
wxSize client_size);
wxSize GetGalleryClientSize(
wxDC& dc,
const wxRibbonGallery* wnd,
wxSize size,
wxPoint* client_offset,
wxRect* scroll_up_button,
wxRect* scroll_down_button,
wxRect* extension_button);
wxRect GetPageBackgroundRedrawArea(
wxDC& dc,
const wxRibbonPage* wnd,
wxSize page_old_size,
wxSize page_new_size);
bool GetButtonBarButtonSize(
wxDC& dc,
wxWindow* wnd,
wxRibbonButtonKind kind,
wxRibbonButtonBarButtonState size,
const wxString& label,
wxSize bitmap_size_large,
wxSize bitmap_size_small,
wxSize* button_size,
wxRect* normal_region,
wxRect* dropdown_region);
wxSize GetMinimisedPanelMinimumSize(
wxDC& dc,
const wxRibbonPanel* wnd,
wxSize* desired_bitmap_size,
wxDirection* expanded_panel_direction);
wxSize GetToolSize(
wxDC& dc,
wxWindow* wnd,
wxSize bitmap_size,
wxRibbonButtonKind kind,
bool is_first,
bool is_last,
wxRect* dropdown_region);
wxRect GetBarToggleButtonArea(const wxRect& rect);
wxRect GetRibbonHelpButtonArea(const wxRect& rect);
};
class wxRibbonAUIArtProvider : public wxRibbonMSWArtProvider
{
public:
wxRibbonAUIArtProvider();
virtual ~wxRibbonAUIArtProvider();
wxRibbonArtProvider* Clone() const;
wxColour GetColour(int id) const;
void SetColour(int id, const wxColour& colour);
void SetColourScheme(const wxColour& primary,
const wxColour& secondary,
const wxColour& tertiary);
void SetFont(int id, const wxFont& font);
wxSize GetScrollButtonMinimumSize(
wxDC& dc,
wxWindow* wnd,
long style);
void DrawScrollButton(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect,
long style);
wxSize GetPanelSize(
wxDC& dc,
const wxRibbonPanel* wnd,
wxSize client_size,
wxPoint* client_offset);
wxSize GetPanelClientSize(
wxDC& dc,
const wxRibbonPanel* wnd,
wxSize size,
wxPoint* client_offset);
wxRect GetPanelExtButtonArea(
wxDC& dc,
const wxRibbonPanel* wnd,
wxRect rect);
void DrawTabCtrlBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
int GetTabCtrlHeight(
wxDC& dc,
wxWindow* wnd,
const wxRibbonPageTabInfoArray& pages);
void GetBarTabWidth(
wxDC& dc,
wxWindow* wnd,
const wxString& label,
const wxBitmap& bitmap,
int* ideal,
int* small_begin_need_separator,
int* small_must_have_separator,
int* minimum);
void DrawTab(wxDC& dc,
wxWindow* wnd,
const wxRibbonPageTabInfo& tab);
void DrawTabSeparator(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect,
double visibility);
void DrawPageBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
void DrawPanelBackground(
wxDC& dc,
wxRibbonPanel* wnd,
const wxRect& rect);
void DrawMinimisedPanel(
wxDC& dc,
wxRibbonPanel* wnd,
const wxRect& rect,
wxBitmap& bitmap);
void DrawGalleryBackground(
wxDC& dc,
wxRibbonGallery* wnd,
const wxRect& rect);
void DrawGalleryItemBackground(
wxDC& dc,
wxRibbonGallery* wnd,
const wxRect& rect,
wxRibbonGalleryItem* item);
void DrawButtonBarBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
void DrawButtonBarButton(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect,
wxRibbonButtonKind kind,
long state,
const wxString& label,
const wxBitmap& bitmap_large,
const wxBitmap& bitmap_small);
void DrawToolBarBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
void DrawToolGroupBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
void DrawTool(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect,
const wxBitmap& bitmap,
wxRibbonButtonKind kind,
long state);
};

View File

@@ -6,6 +6,22 @@
///////////////////////////////////////////////////////////////////////////////
enum wxRibbonBarOption
{
wxRIBBON_BAR_SHOW_PAGE_LABELS,
wxRIBBON_BAR_SHOW_PAGE_ICONS,
wxRIBBON_BAR_FLOW_HORIZONTAL,
wxRIBBON_BAR_FLOW_VERTICAL,
wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS,
wxRIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS,
wxRIBBON_BAR_ALWAYS_SHOW_TABS,
wxRIBBON_BAR_SHOW_TOGGLE_BUTTON,
wxRIBBON_BAR_SHOW_HELP_BUTTON,
wxRIBBON_BAR_DEFAULT_STYLE,
wxRIBBON_BAR_FOLDBAR_STYLE
};
/**
The possible display modes of the panel area of a wxRibbonBar widget.
@@ -68,6 +84,35 @@ public:
void SetPage(wxRibbonPage* page);
};
wxEventType wxEVT_RIBBONBAR_PAGE_CHANGED;
wxEventType wxEVT_RIBBONBAR_PAGE_CHANGING;
wxEventType wxEVT_RIBBONBAR_TAB_MIDDLE_DOWN;
wxEventType wxEVT_RIBBONBAR_TAB_MIDDLE_UP;
wxEventType wxEVT_RIBBONBAR_TAB_RIGHT_DOWN;
wxEventType wxEVT_RIBBONBAR_TAB_RIGHT_UP;
wxEventType wxEVT_RIBBONBAR_TAB_LEFT_DCLICK;
wxEventType wxEVT_RIBBONBAR_TOGGLED;
wxEventType wxEVT_RIBBONBAR_HELP_CLICK;
class wxRibbonPageTabInfo
{
public:
wxRect rect;
wxRibbonPage *page;
int ideal_width;
int small_begin_need_separator_width;
int small_must_have_separator_width;
int minimum_width;
bool active;
bool hovered;
bool highlight;
bool shown;
};
/**
@class wxRibbonBar

View File

@@ -69,7 +69,12 @@ enum wxRibbonButtonBarButtonState
Only applicable to dropdown and hybrid buttons.
*/
wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_ACTIVE = 1 << 6,
/**
A mask to extract active flags
*/
wxRIBBON_BUTTONBAR_BUTTON_ACTIVE_MASK = wxRIBBON_BUTTONBAR_BUTTON_NORMAL_ACTIVE | wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_ACTIVE,
/**
The button is disabled. Hover flags may still be set when a button
is disabled, but should be ignored during drawing if the button is
@@ -422,7 +427,7 @@ public:
@since 2.9.5
*/
virtual int GetItemId(wxRibbonButtonBarButtonBase *) const;
virtual int GetItemId(wxRibbonButtonBarButtonBase *item) const;
/**
Calculate button layouts and positions.
@@ -562,3 +567,7 @@ public:
*/
bool PopupMenu(wxMenu* menu);
};
wxEventType wxEVT_RIBBONBUTTONBAR_CLICKED;
wxEventType wxEVT_RIBBONBUTTONBAR_DROPDOWN_CLICKED;

View File

@@ -297,3 +297,9 @@ public:
*/
void SetGalleryItem(wxRibbonGalleryItem* item);
};
wxEventType wxEVT_RIBBONGALLERY_HOVER_CHANGED;
wxEventType wxEVT_RIBBONGALLERY_SELECTED;
wxEventType wxEVT_RIBBONGALLERY_CLICKED;

View File

@@ -5,6 +5,18 @@
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
enum wxRibbonPanelOption
{
wxRIBBON_PANEL_NO_AUTO_MINIMISE,
wxRIBBON_PANEL_EXT_BUTTON,
wxRIBBON_PANEL_MINIMISE_BUTTON,
wxRIBBON_PANEL_STRETCH,
wxRIBBON_PANEL_FLEXIBLE,
wxRIBBON_PANEL_DEFAULT_STYLE
};
/**
@class wxRibbonPanelEvent
@@ -27,7 +39,7 @@ public:
*/
wxRibbonPanelEvent(wxEventType command_type = wxEVT_NULL,
int win_id = 0,
wxRibbonPanel* panel = NULL)
wxRibbonPanel* panel = NULL);
/**
Returns the panel relating to this event.
@@ -40,6 +52,9 @@ public:
void SetPanel(wxRibbonPanel* page);
};
wxEventType wxEVT_RIBBONPANEL_EXTBUTTON_ACTIVATED;
/**
@class wxRibbonPanel

View File

@@ -5,6 +5,7 @@
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
/**
@class wxRibbonToolBar
@@ -143,7 +144,7 @@ public:
const wxBitmap& bitmap_disabled = wxNullBitmap,
const wxString& help_string = wxEmptyString,
wxRibbonButtonKind kind = wxRIBBON_BUTTON_NORMAL,
wxObject* client_data = NULL);
wxObject* clientData = NULL);
/**
Add a separator to the tool bar.
@@ -248,7 +249,7 @@ public:
const wxBitmap& bitmap_disabled = wxNullBitmap,
const wxString& help_string = wxEmptyString,
wxRibbonButtonKind kind = wxRIBBON_BUTTON_NORMAL,
wxObject* client_data = NULL);
wxObject* clientData = NULL);
/**
Insert a separator to the tool bar at the specified position.
@@ -492,3 +493,20 @@ public:
*/
virtual void ToggleTool(int tool_id, bool checked);
};
class wxRibbonToolBarEvent : public wxCommandEvent
{
public:
wxRibbonToolBarEvent(wxEventType command_type = wxEVT_NULL,
int win_id = 0,
wxRibbonToolBar* bar = NULL);
wxRibbonToolBar* GetBar();
void SetBar(wxRibbonToolBar* bar);
bool PopupMenu(wxMenu* menu);
};
wxEventType wxEVT_RIBBONTOOLBAR_CLICKED;
wxEventType wxEVT_RIBBONTOOLBAR_DROPDOWN_CLICKED;

View File

@@ -99,10 +99,10 @@ public:
For example:
@code
wxRichTextRange range;
if (m_richTextCtrl-HasSelection())
range = m_richTextCtrl-GetSelectionRange();
if (m_richTextCtrl->HasSelection())
range = m_richTextCtrl->GetSelectionRange();
else
range = wxRichTextRange(0, m_richTextCtrl-GetLastPosition()+1);
range = wxRichTextRange(0, m_richTextCtrl->GetLastPosition()+1);
int pages = wxRICHTEXT_FORMAT_FONT|wxRICHTEXT_FORMAT_INDENTS_SPACING| \
wxRICHTEXT_FORMAT_TABS|wxRICHTEXT_FORMAT_BULLETS;

View File

@@ -265,7 +265,7 @@ enum wxSystemScreenType
@see wxFont, wxColour, wxSystemOptions
*/
class wxSystemSettings : public wxObject
class wxSystemSettings
{
public:
/**

View File

@@ -50,8 +50,8 @@
@section wxsizer_flags wxSizer flags
The "flag" argument accepted by wxSizeItem constructors and other
functions, e.g. wxSizer::Add(), is OR-combination of the following flags.
The "flag" argument accepted by wxSizerItem constructors and other
functions, e.g. wxSizer::Add(), is an OR-combination of the following flags.
Two main behaviours are defined using these flags. One is the border around
a window: the border parameter determines the border width whereas the
flags given here determine which side(s) of the item that the border will

View File

@@ -89,7 +89,7 @@ bool wxPalette::Create(int n, const unsigned char *red, const unsigned char *gre
M_PALETTEDATA->m_palette[i].Set( red[i] , green[i] , blue[i] ) ;
}
return false;
return true;
}
int wxPalette::GetPixel(unsigned char red, unsigned char green, unsigned char blue) const