- Implemented wxNotebook::DoGetBestSize so Fit now works
- Added FindItemByPosition to wxMenu
- wxTimer now derives from wxEvtHandler and is its own owner object by default
+- Extended wxTextAttr and added wxTextCtrl::GetStyle stub
+ to allow better rich text support.
- implemented wxFlexGridSizer::Show() (Wade Brainerd)
+- Added m_ prefix to wxColourData and wxFontData members
Unix:
\membersection{wxWizardPageSimple::wxWizardPageSimple}\label{wxwizardpagesimplewxwizardpagesimple}
-\func{}{wxWizardPageSimple}{\param{wxWizard* }{parent = NULL}, \param{wxWizardPage* }{prev = NULL}, \param{wxWizardPage* }{next = NULL}}
+\func{}{wxWizardPageSimple}{\param{wxWizard* }{parent = NULL}, \param{wxWizardPage* }{prev = NULL}, \param{wxWizardPage* }{next = NULL},
+\param{const wxBitmap& }{bitmap = wxNullBitmap}}
Constructor takes the previous and next pages. They may be modified later by
\helpref{SetPrev()}{wxwizardpagesimplesetprev} or
done
+TODO for 2.4 (items that are not backports)
+===========================================
+
+1. Add uxtheme.cpp to CW for Windows project file.
+
+2. Test Mac port with configure and CW.
+
+3. Test popup window and border issues.
+
wxString m_data;
};
-
-
// This class is a mixin that provides storage and management of "client
// data." The client data stored can either be a pointer to a wxClientData
-// object in which case it is managed by the container (i.e. it will delete
+// object in which case it is managed by the container (i.e. it will delete
// the data when it's destroyed) or an untyped pointer which won't be deleted
// by the container - but not both of them
//
// NOTE: This functionality is currently duplicated in wxEvtHandler in order
-// to avoid having more than one vtable in that class heirachy.
+// to avoid having more than one vtable in that class hierarchy.
class WXDLLEXPORT wxClientDataContainer
{
protected:
// The user data: either an object which will be deleted by the container
- // when it's deleted or some raw pointer which we do nothing with - only
- // one type of data can be used with the given window (i.e. you cannot set
+ // when it's deleted or some raw pointer which we do nothing with. Only
+ // one type of data can be used with the given window, i.e. you cannot set
// the void data and then associate the container with wxClientData or vice
- // versa)
+ // versa.
union
{
wxClientData *m_clientObject;
// this class is used internally to maintain the association between items
// of (some subclasses of) wxControlWithItems and their client data
-// NOTE: this class does not keep track if it contains
-// wxClientData or void*, the client must ensure that
+// NOTE: this class does not keep track of whether it contains
+// wxClientData or void*. The client must ensure that
// it does not contain a mix of the two, and that
// DestroyData is called if it contains wxClientData
class WXDLLEXPORT wxClientDataDictionary
wxColourData(const wxColourData& data);
~wxColourData();
- void SetChooseFull(bool flag) { chooseFull = flag; }
- bool GetChooseFull() const { return chooseFull; }
- void SetColour(const wxColour& colour) { dataColour = colour; }
- const wxColour& GetColour() const { return dataColour; }
- wxColour& GetColour() { return dataColour; }
+ void SetChooseFull(bool flag) { m_chooseFull = flag; }
+ bool GetChooseFull() const { return m_chooseFull; }
+ void SetColour(const wxColour& colour) { m_dataColour = colour; }
+ const wxColour& GetColour() const { return m_dataColour; }
+ wxColour& GetColour() { return m_dataColour; }
// Array of 16 custom colours
void SetCustomColour(int i, const wxColour& colour);
void operator=(const wxColourData& data);
public:
- wxColour dataColour;
- wxColour custColours[16];
- bool chooseFull;
+ wxColour m_dataColour;
+ wxColour m_custColours[16];
+ bool m_chooseFull;
private:
DECLARE_DYNAMIC_CLASS(wxColourData)
wxFontData(const wxFontData& data)
: wxObject()
- , fontColour(data.fontColour)
- , showHelp(data.showHelp)
- , allowSymbols(data.allowSymbols)
- , enableEffects(data.enableEffects)
- , initialFont(data.initialFont)
- , chosenFont(data.chosenFont)
- , minSize(data.minSize)
- , maxSize(data.maxSize)
+ , m_fontColour(data.m_fontColour)
+ , m_showHelp(data.m_showHelp)
+ , m_allowSymbols(data.m_allowSymbols)
+ , m_enableEffects(data.m_enableEffects)
+ , m_initialFont(data.m_initialFont)
+ , m_chosenFont(data.m_chosenFont)
+ , m_minSize(data.m_minSize)
+ , m_maxSize(data.m_maxSize)
, m_encoding(data.m_encoding)
, m_encodingInfo(data.m_encodingInfo)
{
wxFontData& operator=(const wxFontData& data)
{
wxObject::operator=(data);
- fontColour = data.fontColour;
- showHelp = data.showHelp;
- allowSymbols = data.allowSymbols;
- enableEffects = data.enableEffects;
- initialFont = data.initialFont;
- chosenFont = data.chosenFont;
- minSize = data.minSize;
- maxSize = data.maxSize;
+ m_fontColour = data.m_fontColour;
+ m_showHelp = data.m_showHelp;
+ m_allowSymbols = data.m_allowSymbols;
+ m_enableEffects = data.m_enableEffects;
+ m_initialFont = data.m_initialFont;
+ m_chosenFont = data.m_chosenFont;
+ m_minSize = data.m_minSize;
+ m_maxSize = data.m_maxSize;
m_encoding = data.m_encoding;
m_encodingInfo = data.m_encodingInfo;
return *this;
}
- void SetAllowSymbols(bool flag) { allowSymbols = flag; }
- bool GetAllowSymbols() const { return allowSymbols; }
+ void SetAllowSymbols(bool flag) { m_allowSymbols = flag; }
+ bool GetAllowSymbols() const { return m_allowSymbols; }
- void SetColour(const wxColour& colour) { fontColour = colour; }
- wxColour &GetColour() { return fontColour; }
+ void SetColour(const wxColour& colour) { m_fontColour = colour; }
+ wxColour &GetColour() { return m_fontColour; }
- void SetShowHelp(bool flag) { showHelp = flag; }
- bool GetShowHelp() const { return showHelp; }
+ void SetShowHelp(bool flag) { m_showHelp = flag; }
+ bool GetShowHelp() const { return m_showHelp; }
- void EnableEffects(bool flag) { enableEffects = flag; }
- bool GetEnableEffects() const { return enableEffects; }
+ void EnableEffects(bool flag) { m_enableEffects = flag; }
+ bool GetEnableEffects() const { return m_enableEffects; }
- void SetInitialFont(const wxFont& font) { initialFont = font; }
- wxFont GetInitialFont() const { return initialFont; }
+ void SetInitialFont(const wxFont& font) { m_initialFont = font; }
+ wxFont GetInitialFont() const { return m_initialFont; }
- void SetChosenFont(const wxFont& font) { chosenFont = font; }
- wxFont GetChosenFont() const { return chosenFont; }
+ void SetChosenFont(const wxFont& font) { m_chosenFont = font; }
+ wxFont GetChosenFont() const { return m_chosenFont; }
- void SetRange(int minRange, int maxRange) { minSize = minRange; maxSize = maxRange; }
+ void SetRange(int minRange, int maxRange) { m_minSize = minRange; m_maxSize = maxRange; }
// encoding info is split into 2 parts: the logical wxWin encoding
// (wxFontEncoding) and a structure containing the native parameters for
wxNativeEncodingInfo& EncodingInfo() { return m_encodingInfo; }
public:
- wxColour fontColour;
- bool showHelp;
- bool allowSymbols;
- bool enableEffects;
- wxFont initialFont;
- wxFont chosenFont;
- int minSize;
- int maxSize;
+ wxColour m_fontColour;
+ bool m_showHelp;
+ bool m_allowSymbols;
+ bool m_enableEffects;
+ wxFont m_initialFont;
+ wxFont m_chosenFont;
+ int m_minSize;
+ int m_maxSize;
private:
wxFontEncoding m_encoding;
#if wxUSE_HELP
#include "wx/help.h"
+
+#if wxUSE_BMPBUTTON
#include "wx/bmpbuttn.h"
+#endif
// ----------------------------------------------------------------------------
// classes used to implement context help UI
DECLARE_DYNAMIC_CLASS(wxContextHelp)
};
+#if wxUSE_BMPBUTTON
/*
* wxContextHelpButton
* You can add this to your dialogs (especially on non-Windows platforms)
DECLARE_EVENT_TABLE()
};
+#endif
+
// ----------------------------------------------------------------------------
// classes used to implement context help support
// ----------------------------------------------------------------------------
{ DoGetClippingBox(x, y, w, h); }
void GetClippingBox(wxRect& rect) const
{
+#if 1
+ DoGetClippingBox(&rect.x, &rect.y, &rect.width, &rect.height);
+#else
// Necessary to use intermediate variables for 16-bit compilation
+ // REMOVE ME if the above is OK for all current platforms
wxCoord x, y, w, h;
DoGetClippingBox(&x, &y, &w, &h);
rect.x = x; rect.y = y; rect.width = w; rect.height = h;
+#endif
}
// text extent
virtual void SetOptimization(bool WXUNUSED(opt)) { }
virtual bool GetOptimization() { return FALSE; }
- // Some platforms have a DC cache, which should be cleared
- // at appropriate points such as after a series of DC operations.
- // Put ClearCache in the wxDC implementation class, since it has to be
- // static.
- // static void ClearCache() ;
-#if 0 // wxUSE_DC_CACHEING
- static void EnableCache(bool cacheing) { sm_cacheing = cacheing; }
- static bool CacheEnabled() { return sm_cacheing ; }
-#endif
-
// bounding box
// ------------
#if WXWIN_COMPATIBILITY
-#if wxUSE_PALETTE
- virtual void SetColourMap(const wxPalette& palette) { SetPalette(palette); }
-#endif // wxUSE_PALETTE
-
void GetTextExtent(const wxString& string, float *x, float *y,
float *descent = NULL, float *externalLeading = NULL,
wxFont *theFont = NULL, bool use16bit = FALSE) const ;
bool m_clipping:1;
bool m_isInteractive:1;
bool m_isBBoxValid:1;
-#if wxUSE_DC_CACHEING
-// static bool sm_cacheing;
-#endif
// coordinate system variables
#endif // _WX_DCBUFFER_H_
-// vi:sts=4:sw=4:et
// (popping up a message box in your favourite GUI, sending you e-mail or
// whatever) it will affect all ASSERTs, FAILs and CHECKs in your code.
//
-// Warning: if you don't like advices on programming style, don't read
+// Warning: if you don't like advice on programming style, don't read
// further! ;-)
//
// Extensive use of these macros is recommended! Remember that ASSERTs are
-// disabled in final (without __WXDEBUG__ defined) build, so they add strictly
+// disabled in final build (without __WXDEBUG__ defined), so they add strictly
// nothing to your program's code. On the other hand, CHECK macros do stay
// even in release builds, but in general are not much of a burden, while
// a judicious use of them might increase your program's stability.
const wxChar *szCond,
const wxChar *szMsg = NULL);
- // call this function to break into the debugger uncodnitionally (assuming
+ // call this function to break into the debugger unconditionally (assuming
// the program is running under debugger, of course)
extern void WXDLLEXPORT wxTrap();
virtual wxString GetHistoryFile(size_t i) const;
virtual size_t GetCount() const { return m_fileHistoryN; }
- wxList& GetMenus() const { return (wxList&) m_fileMenus; }
+ const wxList& GetMenus() const { return m_fileMenus; }
// deprecated, use GetCount() instead
wxDEPRECATED( size_t GetNoHistoryFiles() const );
virtual ~wxFSFile() { if (m_Stream) delete m_Stream; }
// returns stream. This doesn't _create_ stream, it only returns
- // pointer to it!!
+ // pointer to it.
wxInputStream *GetStream() const {return m_Stream;}
// returns file's mime type
{
int i;
for (i = 0; i < 16; i++)
- custColours[i].Set(255, 255, 255);
+ m_custColours[i].Set(255, 255, 255);
- chooseFull = FALSE;
- dataColour.Set(0,0,0);
+ m_chooseFull = FALSE;
+ m_dataColour.Set(0,0,0);
}
wxColourData::wxColourData(const wxColourData& data)
if (i > 15 || i < 0)
return;
- custColours[i] = colour;
+ m_custColours[i] = colour;
}
wxColour wxColourData::GetCustomColour(int i)
if (i > 15 || i < 0)
return wxColour(0,0,0);
- return custColours[i];
+ return m_custColours[i];
}
void wxColourData::operator=(const wxColourData& data)
{
int i;
for (i = 0; i < 16; i++)
- custColours[i] = data.custColours[i];
+ m_custColours[i] = data.m_custColours[i];
- dataColour = (wxColour&)data.dataColour;
- chooseFull = data.chooseFull;
+ m_dataColour = (wxColour&)data.m_dataColour;
+ m_chooseFull = data.m_chooseFull;
}
// ----------------------------------------------------------------------------
wxFontData::wxFontData()
{
// Intialize colour to black.
- fontColour = wxNullColour;
+ m_fontColour = wxNullColour;
- showHelp = FALSE;
- allowSymbols = TRUE;
- enableEffects = TRUE;
- minSize = 0;
- maxSize = 0;
+ m_showHelp = FALSE;
+ m_allowSymbols = TRUE;
+ m_enableEffects = TRUE;
+ m_minSize = 0;
+ m_maxSize = 0;
m_encoding = wxFONTENCODING_SYSTEM;
}
if (ret != wxID_CANCEL)
{
- m_fontData.chosenFont = dialogFont;
+ m_fontData.m_chosenFont = dialogFont;
}
return ret;
familyChoice->SetStringSelection( wxFontFamilyIntToString(dialogFont.GetFamily()) );
styleChoice->SetStringSelection(wxFontStyleIntToString(dialogFont.GetStyle()));
weightChoice->SetStringSelection(wxFontWeightIntToString(dialogFont.GetWeight()));
- wxString name(wxTheColourDatabase->FindName(m_fontData.fontColour));
+ wxString name(wxTheColourDatabase->FindName(m_fontData.GetColour()));
colourChoice->SetStringSelection(name);
underLineCheckBox->SetValue(dialogFont.GetUnderlined());
int fontSize = 12;
int fontUnderline = FALSE;
- if (m_fontData.initialFont.Ok())
+ if (m_fontData.m_initialFont.Ok())
{
- fontFamily = m_fontData.initialFont.GetFamily();
- fontWeight = m_fontData.initialFont.GetWeight();
- fontStyle = m_fontData.initialFont.GetStyle();
- fontSize = m_fontData.initialFont.GetPointSize();
- fontUnderline = m_fontData.initialFont.GetUnderlined();
+ fontFamily = m_fontData.m_initialFont.GetFamily();
+ fontWeight = m_fontData.m_initialFont.GetWeight();
+ fontStyle = m_fontData.m_initialFont.GetStyle();
+ fontSize = m_fontData.m_initialFont.GetPointSize();
+ fontUnderline = m_fontData.m_initialFont.GetUnderlined();
}
dialogFont = wxFont(fontSize, fontFamily, fontStyle, fontWeight, (fontUnderline != 0));
col = wxTheColourDatabase->FindColour(colourChoice->GetStringSelection());
if (col)
{
- m_fontData.fontColour = *col;
+ m_fontData.m_fontColour = *col;
m_previewer->SetForegroundColour(*col);
}
}
int wxColourDialog::ShowModal()
{
Point where ;
- RGBColor currentColor = *((RGBColor*)m_colourData.dataColour.GetPixel()) , newColor ;
+ RGBColor currentColor = *((RGBColor*)m_colourData.m_dataColour.GetPixel()) , newColor ;
where.h = where.v = -1;
if (GetColor( where, "\pSelect a new palette color.", ¤tColor, &newColor ))
{
- m_colourData.dataColour.Set( (WXCOLORREF*) &newColor ) ;
+ m_colourData.m_dataColour.Set( (WXCOLORREF*) &newColor ) ;
return wxID_OK;
}
else
int wxColourDialog::ShowModal()
{
Point where ;
- RGBColor currentColor = *((RGBColor*)m_colourData.dataColour.GetPixel()) , newColor ;
+ RGBColor currentColor = *((RGBColor*)m_colourData.m_dataColour.GetPixel()) , newColor ;
where.h = where.v = -1;
if (GetColor( where, "\pSelect a new palette color.", ¤tColor, &newColor ))
{
- m_colourData.dataColour.Set( (WXCOLORREF*) &newColor ) ;
+ m_colourData.m_dataColour.Set( (WXCOLORREF*) &newColor ) ;
return wxID_OK;
}
else
int i;
for (i = 0; i < 16; i++)
- custColours[i] = wxColourToRGB(m_colourData.custColours[i]);
+ custColours[i] = wxColourToRGB(m_colourData.m_custColours[i]);
chooseColorStruct.lStructSize = sizeof(CHOOSECOLOR);
if ( m_parent )
chooseColorStruct.hwndOwner = GetHwndOf(m_parent);
- chooseColorStruct.rgbResult = wxColourToRGB(m_colourData.dataColour);
+ chooseColorStruct.rgbResult = wxColourToRGB(m_colourData.m_dataColour);
chooseColorStruct.lpCustColors = custColours;
chooseColorStruct.Flags = CC_RGBINIT | CC_ENABLEHOOK;
// Restore values
for (i = 0; i < 16; i++)
{
- wxRGBToColour(m_colourData.custColours[i], custColours[i]);
+ wxRGBToColour(m_colourData.m_custColours[i], custColours[i]);
}
- wxRGBToColour(m_colourData.dataColour, chooseColorStruct.rgbResult);
+ wxRGBToColour(m_colourData.m_dataColour, chooseColorStruct.rgbResult);
return success ? wxID_OK : wxID_CANCEL;
}
chooseFontStruct.hwndOwner = GetHwndOf(m_parent);
chooseFontStruct.lpLogFont = &logFont;
- if ( m_fontData.initialFont.Ok() )
+ if ( m_fontData.m_initialFont.Ok() )
{
flags |= CF_INITTOLOGFONTSTRUCT;
- wxFillLogFont(&logFont, &m_fontData.initialFont);
+ wxFillLogFont(&logFont, &m_fontData.m_initialFont);
}
- if ( m_fontData.fontColour.Ok() )
+ if ( m_fontData.m_fontColour.Ok() )
{
- chooseFontStruct.rgbColors = wxColourToRGB(m_fontData.fontColour);
+ chooseFontStruct.rgbColors = wxColourToRGB(m_fontData.m_fontColour);
// need this for the colour to be taken into account
flags |= CF_EFFECTS;
if ( m_fontData.GetShowHelp() )
flags |= CF_SHOWHELP;
- if ( m_fontData.minSize != 0 || m_fontData.maxSize != 0 )
+ if ( m_fontData.m_minSize != 0 || m_fontData.m_maxSize != 0 )
{
- chooseFontStruct.nSizeMin = m_fontData.minSize;
- chooseFontStruct.nSizeMax = m_fontData.maxSize;
+ chooseFontStruct.nSizeMin = m_fontData.m_minSize;
+ chooseFontStruct.nSizeMax = m_fontData.m_maxSize;
flags |= CF_LIMITSIZE;
}
if ( ChooseFont(&chooseFontStruct) != 0 )
{
- wxRGBToColour(m_fontData.fontColour, chooseFontStruct.rgbColors);
- m_fontData.chosenFont = wxCreateFontFromLogFont(&logFont);
+ wxRGBToColour(m_fontData.m_fontColour, chooseFontStruct.rgbColors);
+ m_fontData.m_chosenFont = wxCreateFontFromLogFont(&logFont);
m_fontData.EncodingInfo().facename = logFont.lfFaceName;
m_fontData.EncodingInfo().charset = logFont.lfCharSet;
wxColour vColour((unsigned long)0x00000000);
wxNativeFontInfo vInfo;
- m_fontData.fontColour = vColour;
+ m_fontData.m_fontColour = vColour;
memset(&vFn, '\0', sizeof(FACENAMEDESC));
vFn.usSize = sizeof(FACENAMEDESC);
int nPointSize = vFontDlg.fxPointSize >> 16;
vChosenFont.SetPointSize(nPointSize);
- m_fontData.chosenFont = vChosenFont;
+ m_fontData.m_chosenFont = vChosenFont;
m_fontData.EncodingInfo().facename = vFontDlg.fAttrs.szFacename;
m_fontData.EncodingInfo().charset = vFontDlg.fAttrs.usCodePage;