Fix some broken or add some missing interface declarations for Phoenix

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2011-09-03 01:39:02 +00:00
parent c2d4ceaf57
commit 8ff9b17d57
12 changed files with 564 additions and 6 deletions

View File

@@ -276,7 +276,7 @@ public:
In wxPerl use Wx::Bitmap->newFromBits(bits, width, height, depth). In wxPerl use Wx::Bitmap->newFromBits(bits, width, height, depth).
@endWxPerlOnly @endWxPerlOnly
*/ */
wxBitmap(const char bits[], int width, int height, int depth = 1); wxBitmap(const char* bits[], int width, int height, int depth = 1);
/** /**
Creates a new bitmap. A depth of ::wxBITMAP_SCREEN_DEPTH indicates the Creates a new bitmap. A depth of ::wxBITMAP_SCREEN_DEPTH indicates the

View File

@@ -6,6 +6,11 @@
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#define wxBU_EXACTFIT 0x0001
#define wxBU_NOTEXT 0x0002
/** /**
@class wxButton @class wxButton

View File

@@ -184,5 +184,15 @@ public:
anything under other platforms. anything under other platforms.
*/ */
virtual void SetColumns(int n = 1); virtual void SetColumns(int n = 1);
virtual bool IsSorted() const;
virtual unsigned int GetCount() const ;
virtual int GetSelection() const ;
virtual void SetSelection(int n);
virtual int FindString(const wxString& s, bool bCase = false) const;
virtual wxString GetString(unsigned int n) const ;
virtual void SetString(unsigned int pos, const wxString& s);
}; };

View File

@@ -6,6 +6,9 @@
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#define wxCP_DEFAULT_STYLE (wxTAB_TRAVERSAL | wxNO_BORDER)
#define wxCP_NO_TLW_RESIZE (0x0002)
/** /**
@class wxCollapsiblePaneEvent @class wxCollapsiblePaneEvent
@@ -41,7 +44,7 @@ public:
void SetCollapsed(bool collapsed); void SetCollapsed(bool collapsed);
}; };
wxEventType wxEVT_COMMAND_COLLPANE_CHANGED;
/** /**
@class wxCollapsiblePane @class wxCollapsiblePane
@@ -179,4 +182,3 @@ public:
*/ */
bool IsExpanded() const; bool IsExpanded() const;
}; };

View File

@@ -561,7 +561,7 @@ public:
/** /**
@overload @overload
*/ */
void DrawRotatedText(const wxString& text, const wxPoint&, void DrawRotatedText(const wxString& text, const wxPoint& point,
double angle); double angle);
/** /**
@@ -715,7 +715,7 @@ public:
@overload @overload
*/ */
bool FloodFill(const wxPoint& pt, const wxColour& col, bool FloodFill(const wxPoint& pt, const wxColour& col,
int style = wxFLOOD_SURFACE); wxFloodFillStyle style = wxFLOOD_SURFACE);
/** /**
Displays a cross hair using the current pen. This is a vertical and Displays a cross hair using the current pen. This is a vertical and

View File

@@ -35,6 +35,11 @@ public:
*/ */
wxGCDC( const wxPrinterDC& dc ); wxGCDC( const wxPrinterDC& dc );
/**
Construct a wxGCDC from an existing grtaphics context.
*/
wxGCDC(wxGraphicsContext* context);
/** /**
Constructs a wxGCDC from a wxEnhMetaFileDC. Constructs a wxGCDC from a wxEnhMetaFileDC.
@@ -46,9 +51,17 @@ public:
*/ */
wxGCDC( const wxEnhMetaFileDC& dc ); wxGCDC( const wxEnhMetaFileDC& dc );
wxGCDC();
virtual ~wxGCDC();
/** /**
Retrieves associated wxGraphicsContext Retrieves associated wxGraphicsContext
*/ */
wxGraphicsContext* GetGraphicsContext() const; wxGraphicsContext* GetGraphicsContext() const;
/**
Set the grpahics context to be used for this wxGCDC.
*/
void SetGraphicsContext( wxGraphicsContext* ctx );
}; };

View File

@@ -144,6 +144,330 @@ enum wxBorder
wxBORDER_MASK = 0x1f200000 wxBORDER_MASK = 0x1f200000
}; };
/* ---------------------------------------------------------------------------- */
/* Window style flags */
/* ---------------------------------------------------------------------------- */
/*
* Values are chosen so they can be |'ed in a bit list.
* Some styles are used across more than one group,
* so the values mustn't clash with others in the group.
* Otherwise, numbers can be reused across groups.
*/
/*
Summary of the bits used by various styles.
High word, containing styles which can be used with many windows:
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16|
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | \_ wxFULL_REPAINT_ON_RESIZE
| | | | | | | | | | | | | | \____ wxPOPUP_WINDOW
| | | | | | | | | | | | | \_______ wxWANTS_CHARS
| | | | | | | | | | | | \__________ wxTAB_TRAVERSAL
| | | | | | | | | | | \_____________ wxTRANSPARENT_WINDOW
| | | | | | | | | | \________________ wxBORDER_NONE
| | | | | | | | | \___________________ wxCLIP_CHILDREN
| | | | | | | | \______________________ wxALWAYS_SHOW_SB
| | | | | | | \_________________________ wxBORDER_STATIC
| | | | | | \____________________________ wxBORDER_SIMPLE
| | | | | \_______________________________ wxBORDER_RAISED
| | | | \__________________________________ wxBORDER_SUNKEN
| | | \_____________________________________ wxBORDER_{DOUBLE,THEME}
| | \________________________________________ wxCAPTION/wxCLIP_SIBLINGS
| \___________________________________________ wxHSCROLL
\______________________________________________ wxVSCROLL
Low word style bits is class-specific meaning that the same bit can have
different meanings for different controls (e.g. 0x10 is wxCB_READONLY
meaning that the control can't be modified for wxComboBox but wxLB_SORT
meaning that the control should be kept sorted for wxListBox, while
wxLB_SORT has a different value -- and this is just fine).
*/
/*
* Window (Frame/dialog/subwindow/panel item) style flags
*/
#define wxVSCROLL 0x80000000
#define wxHSCROLL 0x40000000
#define wxCAPTION 0x20000000
/* New styles (border styles are now in their own enum) */
#define wxDOUBLE_BORDER wxBORDER_DOUBLE
#define wxSUNKEN_BORDER wxBORDER_SUNKEN
#define wxRAISED_BORDER wxBORDER_RAISED
#define wxBORDER wxBORDER_SIMPLE
#define wxSIMPLE_BORDER wxBORDER_SIMPLE
#define wxSTATIC_BORDER wxBORDER_STATIC
#define wxNO_BORDER wxBORDER_NONE
/* wxALWAYS_SHOW_SB: instead of hiding the scrollbar when it is not needed, */
/* disable it - but still show (see also wxLB_ALWAYS_SB style) */
/* */
/* NB: as this style is only supported by wxUniversal and wxMSW so far */
#define wxALWAYS_SHOW_SB 0x00800000
/* Clip children when painting, which reduces flicker in e.g. frames and */
/* splitter windows, but can't be used in a panel where a static box must be */
/* 'transparent' (panel paints the background for it) */
#define wxCLIP_CHILDREN 0x00400000
/* Note we're reusing the wxCAPTION style because we won't need captions */
/* for subwindows/controls */
#define wxCLIP_SIBLINGS 0x20000000
#define wxTRANSPARENT_WINDOW 0x00100000
/* Add this style to a panel to get tab traversal working outside of dialogs */
/* (on by default for wxPanel, wxDialog, wxScrolledWindow) */
#define wxTAB_TRAVERSAL 0x00080000
/* Add this style if the control wants to get all keyboard messages (under */
/* Windows, it won't normally get the dialog navigation key events) */
#define wxWANTS_CHARS 0x00040000
/* Make window retained (Motif only, see src/generic/scrolwing.cpp)
* This is non-zero only under wxMotif, to avoid a clash with wxPOPUP_WINDOW
* on other platforms
*/
#ifdef __WXMOTIF__
#define wxRETAINED 0x00020000
#else
#define wxRETAINED 0x00000000
#endif
#define wxBACKINGSTORE wxRETAINED
/* set this flag to create a special popup window: it will be always shown on */
/* top of other windows, will capture the mouse and will be dismissed when the */
/* mouse is clicked outside of it or if it loses focus in any other way */
#define wxPOPUP_WINDOW 0x00020000
/* force a full repaint when the window is resized (instead of repainting just */
/* the invalidated area) */
#define wxFULL_REPAINT_ON_RESIZE 0x00010000
/* obsolete: now this is the default behaviour */
/* */
/* don't invalidate the whole window (resulting in a PAINT event) when the */
/* window is resized (currently, makes sense for wxMSW only) */
#define wxNO_FULL_REPAINT_ON_RESIZE 0
/* A mask which can be used to filter (out) all wxWindow-specific styles.
*/
#define wxWINDOW_STYLE_MASK \
(wxVSCROLL|wxHSCROLL|wxBORDER_MASK|wxALWAYS_SHOW_SB|wxCLIP_CHILDREN| \
wxCLIP_SIBLINGS|wxTRANSPARENT_WINDOW|wxTAB_TRAVERSAL|wxWANTS_CHARS| \
wxRETAINED|wxPOPUP_WINDOW|wxFULL_REPAINT_ON_RESIZE)
/*
* Extra window style flags (use wxWS_EX prefix to make it clear that they
* should be passed to wxWindow::SetExtraStyle(), not SetWindowStyle())
*/
/* by default, TransferDataTo/FromWindow() only work on direct children of the */
/* window (compatible behaviour), set this flag to make them recursively */
/* descend into all subwindows */
#define wxWS_EX_VALIDATE_RECURSIVELY 0x00000001
/* wxCommandEvents and the objects of the derived classes are forwarded to the */
/* parent window and so on recursively by default. Using this flag for the */
/* given window allows to block this propagation at this window, i.e. prevent */
/* the events from being propagated further upwards. The dialogs have this */
/* flag on by default. */
#define wxWS_EX_BLOCK_EVENTS 0x00000002
/* don't use this window as an implicit parent for the other windows: this must */
/* be used with transient windows as otherwise there is the risk of creating a */
/* dialog/frame with this window as a parent which would lead to a crash if the */
/* parent is destroyed before the child */
#define wxWS_EX_TRANSIENT 0x00000004
/* don't paint the window background, we'll assume it will */
/* be done by a theming engine. This is not yet used but could */
/* possibly be made to work in the future, at least on Windows */
#define wxWS_EX_THEMED_BACKGROUND 0x00000008
/* this window should always process idle events */
#define wxWS_EX_PROCESS_IDLE 0x00000010
/* this window should always process UI update events */
#define wxWS_EX_PROCESS_UI_UPDATES 0x00000020
/* Draw the window in a metal theme on Mac */
#define wxFRAME_EX_METAL 0x00000040
#define wxDIALOG_EX_METAL 0x00000040
/* Use this style to add a context-sensitive help to the window (currently for */
/* Win32 only and it doesn't work if wxMINIMIZE_BOX or wxMAXIMIZE_BOX are used) */
#define wxWS_EX_CONTEXTHELP 0x00000080
/* synonyms for wxWS_EX_CONTEXTHELP for compatibility */
#define wxFRAME_EX_CONTEXTHELP wxWS_EX_CONTEXTHELP
#define wxDIALOG_EX_CONTEXTHELP wxWS_EX_CONTEXTHELP
/* Create a window which is attachable to another top level window */
#define wxFRAME_DRAWER 0x0020
/*
* MDI parent frame style flags
* Can overlap with some of the above.
*/
#define wxFRAME_NO_WINDOW_MENU 0x0100
/*
* wxMenuBar style flags
*/
/* use native docking */
#define wxMB_DOCKABLE 0x0001
/*
* wxMenu style flags
*/
#define wxMENU_TEAROFF 0x0001
/*
* Apply to all panel items
*/
#define wxCOLOURED 0x0800
#define wxFIXED_LENGTH 0x0400
/*
* Styles for wxListBox
*/
#define wxLB_SORT 0x0010
#define wxLB_SINGLE 0x0020
#define wxLB_MULTIPLE 0x0040
#define wxLB_EXTENDED 0x0080
/* wxLB_OWNERDRAW is Windows-only */
#define wxLB_NEEDED_SB 0x0000
#define wxLB_OWNERDRAW 0x0100
#define wxLB_ALWAYS_SB 0x0200
#define wxLB_NO_SB 0x0400
#define wxLB_HSCROLL wxHSCROLL
/* always show an entire number of rows */
#define wxLB_INT_HEIGHT 0x0800
/*
* wxComboBox style flags
*/
#define wxCB_SIMPLE 0x0004
#define wxCB_SORT 0x0008
#define wxCB_READONLY 0x0010
#define wxCB_DROPDOWN 0x0020
/*
* wxRadioBox style flags
*/
/* should we number the items from left to right or from top to bottom in a 2d */
/* radiobox? */
#define wxRA_LEFTTORIGHT 0x0001
#define wxRA_TOPTOBOTTOM 0x0002
/* New, more intuitive names to specify majorDim argument */
#define wxRA_SPECIFY_COLS wxHORIZONTAL
#define wxRA_SPECIFY_ROWS wxVERTICAL
/* Old names for compatibility */
#define wxRA_HORIZONTAL wxHORIZONTAL
#define wxRA_VERTICAL wxVERTICAL
#define wxRA_USE_CHECKBOX 0x0010 /* alternative native subcontrols (wxPalmOS) */
/*
* wxRadioButton style flag
*/
#define wxRB_GROUP 0x0004
#define wxRB_SINGLE 0x0008
#define wxRB_USE_CHECKBOX 0x0010 /* alternative native control (wxPalmOS) */
/*
* wxScrollBar flags
*/
#define wxSB_HORIZONTAL wxHORIZONTAL
#define wxSB_VERTICAL wxVERTICAL
/*
* wxSpinButton flags.
* Note that a wxSpinCtrl is sometimes defined as a wxTextCtrl, and so the
* flags shouldn't overlap with wxTextCtrl flags that can be used for a single
* line controls (currently we reuse wxTE_CHARWRAP and wxTE_RICH2 neither of
* which makes sense for them).
*/
#define wxSP_HORIZONTAL wxHORIZONTAL /* 4 */
#define wxSP_VERTICAL wxVERTICAL /* 8 */
#define wxSP_ARROW_KEYS 0x4000
#define wxSP_WRAP 0x8000
/*
* wxTabCtrl flags
*/
#define wxTC_RIGHTJUSTIFY 0x0010
#define wxTC_FIXEDWIDTH 0x0020
#define wxTC_TOP 0x0000 /* default */
#define wxTC_LEFT 0x0020
#define wxTC_RIGHT 0x0040
#define wxTC_BOTTOM 0x0080
#define wxTC_MULTILINE 0x0200 /* == wxNB_MULTILINE */
#define wxTC_OWNERDRAW 0x0400
/*
* wxStaticBitmap flags
*/
#define wxBI_EXPAND wxEXPAND
/*
* wxStaticLine flags
*/
#define wxLI_HORIZONTAL wxHORIZONTAL
#define wxLI_VERTICAL wxVERTICAL
/*
* extended dialog specifiers. these values are stored in a different
* flag and thus do not overlap with other style flags. note that these
* values do not correspond to the return values of the dialogs (for
* those values, look at the wxID_XXX defines).
*/
/* wxCENTRE already defined as 0x00000001 */
#define wxYES 0x00000002
#define wxOK 0x00000004
#define wxNO 0x00000008
#define wxYES_NO (wxYES | wxNO)
#define wxCANCEL 0x00000010
#define wxAPPLY 0x00000020
#define wxCLOSE 0x00000040
#define wxOK_DEFAULT 0x00000000 /* has no effect (default) */
#define wxYES_DEFAULT 0x00000000 /* has no effect (default) */
#define wxNO_DEFAULT 0x00000080 /* only valid with wxYES_NO */
#define wxCANCEL_DEFAULT 0x80000000 /* only valid with wxCANCEL */
#define wxICON_EXCLAMATION 0x00000100
#define wxICON_HAND 0x00000200
#define wxICON_WARNING wxICON_EXCLAMATION
#define wxICON_ERROR wxICON_HAND
#define wxICON_QUESTION 0x00000400
#define wxICON_INFORMATION 0x00000800
#define wxICON_STOP wxICON_HAND
#define wxICON_ASTERISK wxICON_INFORMATION
#define wxFORWARD 0x00001000
#define wxBACKWARD 0x00002000
#define wxRESET 0x00004000
#define wxHELP 0x00008000
#define wxMORE 0x00010000
#define wxSETUP 0x00020000
#define wxICON_NONE 0x00040000
#define wxICON_MASK \
(wxICON_EXCLAMATION|wxICON_HAND|wxICON_QUESTION|wxICON_INFORMATION|wxICON_NONE)
/** /**
Background styles. Background styles.
@@ -846,6 +1170,24 @@ enum wxUpdateUI
// constants // constants
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
/**
Top level window styles common to wxFrame and wxDialog
*/
#define wxSTAY_ON_TOP 0x8000
#define wxICONIZE 0x4000
#define wxMINIMIZE wxICONIZE
#define wxMAXIMIZE 0x2000
#define wxCLOSE_BOX 0x1000
#define wxSYSTEM_MENU 0x0800
#define wxMINIMIZE_BOX 0x0400
#define wxMAXIMIZE_BOX 0x0200
#define wxTINY_CAPTION 0x0080 // clashes with wxNO_DEFAULT
#define wxRESIZE_BORDER 0x0040
/** /**
C99-like sized MIN/MAX constants for all integer types. C99-like sized MIN/MAX constants for all integer types.

View File

@@ -494,7 +494,7 @@ public:
/** /**
@overload @overload
*/ */
wxImage(const wxSize& sz, unsigned char* data, unsigned char* data, unsigned char* alpha, wxImage(const wxSize& sz, unsigned char* data, unsigned char* alpha,
bool static_data = false); bool static_data = false);
/** /**
@@ -1829,6 +1829,30 @@ public:
static wxImage::RGBValue HSVtoRGB(const wxImage::HSVValue& hsv); static wxImage::RGBValue HSVtoRGB(const wxImage::HSVValue& hsv);
}; };
class wxImageHistogram : public wxImageHistogramBase
{
public:
wxImageHistogram();
// get the key in the histogram for the given RGB values
static unsigned long MakeKey(unsigned char r,
unsigned char g,
unsigned char b);
// find first colour that is not used in the image and has higher
// RGB values than RGB(startR, startG, startB)
//
// returns true and puts this colour in r, g, b (each of which may be NULL)
// on success or returns false if there are no more free colours
bool FindFirstUnusedColour(unsigned char *r,
unsigned char *g,
unsigned char *b,
unsigned char startR = 1,
unsigned char startG = 0,
unsigned char startB = 0 ) const;
};
/** /**
An instance of an empty image without an alpha channel. An instance of an empty image without an alpha channel.
*/ */

137
interface/wx/layout.h Normal file
View File

@@ -0,0 +1,137 @@
/////////////////////////////////////////////////////////////////////////////
// Name: layout.h
// Purpose: interface of layout constraints classes
// Author: wxWidgets team
// RCS-ID: $Id: $
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
enum wxEdge
{
wxLeft, wxTop, wxRight, wxBottom, wxWidth, wxHeight,
wxCentre, wxCenter = wxCentre, wxCentreX, wxCentreY
};
enum wxRelationship
{
wxUnconstrained,
wxAsIs,
wxPercentOf,
wxAbove,
wxBelow,
wxLeftOf,
wxRightOf,
wxSameAs,
wxAbsolute
};
const int wxLAYOUT_DEFAULT_MARGIN = 0;
// ----------------------------------------------------------------------------
// wxIndividualLayoutConstraint: a constraint on window position
// ----------------------------------------------------------------------------
class wxIndividualLayoutConstraint : public wxObject
{
public:
wxIndividualLayoutConstraint();
// note that default copy ctor and assignment operators are ok
virtual ~wxIndividualLayoutConstraint();
void Set(wxRelationship rel,
wxWindow *otherW,
wxEdge otherE,
int val = 0,
int margin = wxLAYOUT_DEFAULT_MARGIN);
//
// Sibling relationships
//
void LeftOf(wxWindow *sibling, int margin = wxLAYOUT_DEFAULT_MARGIN);
void RightOf(wxWindow *sibling, int margin = wxLAYOUT_DEFAULT_MARGIN);
void Above(wxWindow *sibling, int margin = wxLAYOUT_DEFAULT_MARGIN);
void Below(wxWindow *sibling, int margin = wxLAYOUT_DEFAULT_MARGIN);
//
// 'Same edge' alignment
//
void SameAs(wxWindow *otherW, wxEdge edge, int margin = wxLAYOUT_DEFAULT_MARGIN);
// The edge is a percentage of the other window's edge
void PercentOf(wxWindow *otherW, wxEdge wh, int per);
//
// Edge has absolute value
//
void Absolute(int val);
//
// Dimension is unconstrained
//
void Unconstrained() { relationship = wxUnconstrained; }
//
// Dimension is 'as is' (use current size settings)
//
void AsIs() { relationship = wxAsIs; }
//
// Accessors
//
wxWindow *GetOtherWindow();
wxEdge GetMyEdge() const;
void SetEdge(wxEdge which);
void SetValue(int v);
int GetMargin();
void SetMargin(int m);
int GetValue() const;
int GetPercent() const;
int GetOtherEdge() const;
bool GetDone() const;
void SetDone(bool d);
wxRelationship GetRelationship();
void SetRelationship(wxRelationship r);
// Reset constraint if it mentions otherWin
bool ResetIfWin(wxWindow *otherW);
// Try to satisfy constraint
bool SatisfyConstraint(wxLayoutConstraints *constraints, wxWindow *win);
// Get the value of this edge or dimension, or if this
// is not determinable, -1.
int GetEdge(wxEdge which, wxWindow *thisWin, wxWindow *other) const;
};
// ----------------------------------------------------------------------------
// wxLayoutConstraints: the complete set of constraints for a window
// ----------------------------------------------------------------------------
class wxLayoutConstraints : public wxObject
{
public:
// Edge constraints
wxIndividualLayoutConstraint left;
wxIndividualLayoutConstraint top;
wxIndividualLayoutConstraint right;
wxIndividualLayoutConstraint bottom;
// Size constraints
wxIndividualLayoutConstraint width;
wxIndividualLayoutConstraint height;
// Centre constraints
wxIndividualLayoutConstraint centreX;
wxIndividualLayoutConstraint centreY;
wxLayoutConstraints();
// note that default copy ctor and assignment operators are ok
virtual ~wxLayoutConstraints(){}
bool SatisfyConstraints(wxWindow *win, int *noChanges);
bool AreSatisfied() const;
};

View File

@@ -453,6 +453,12 @@ public:
class wxMenu : public wxEvtHandler class wxMenu : public wxEvtHandler
{ {
public: public:
/**
Constructs a wxMenu object.
*/
wxMenu();
/** /**
Constructs a wxMenu object. Constructs a wxMenu object.

View File

@@ -1581,6 +1581,11 @@ public:
Note that this method does not trigger relayout. Note that this method does not trigger relayout.
*/ */
void SetNonFlexibleGrowMode(wxFlexSizerGrowMode mode); void SetNonFlexibleGrowMode(wxFlexSizerGrowMode mode);
virtual void RecalcSizes();
virtual wxSize CalcMin();
}; };

View File

@@ -6,6 +6,20 @@
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
enum wxSplitMode
{
wxSPLIT_HORIZONTAL = 1,
wxSPLIT_VERTICAL
};
enum
{
wxSPLIT_DRAG_NONE,
wxSPLIT_DRAG_DRAGGING,
wxSPLIT_DRAG_LEFT_DOWN
};
/** /**
@class wxSplitterWindow @class wxSplitterWindow