#endif
// for all others, include the necessary headers (this file is usually all you
-// need because it includes almost all standard wxWindows headers
+// need because it includes almost all standard wxWidgets headers
#ifndef WX_PRECOMP
#include "wx/wx.h"
#include "wx/splitter.h"
#include "wx/textfile.h"
+#include "../sample.xpm"
+
+#ifdef __WXMAC__
+#undef wxFontDialog
+#include "wx/mac/fontdlg.h"
+#endif
+
// ----------------------------------------------------------------------------
// private classes
// ----------------------------------------------------------------------------
{
public:
MyCanvas( wxWindow *parent );
- virtual ~MyCanvas();
+ virtual ~MyCanvas(){};
// accessors for the frame
const wxFont& GetTextFont() const { return m_font; }
MyCanvas *m_canvas;
private:
- // any class wishing to process wxWindows events must use this macro
+ // any class wishing to process wxWidgets events must use this macro
DECLARE_EVENT_TABLE()
};
};
// ----------------------------------------------------------------------------
-// event tables and other macros for wxWindows
+// event tables and other macros for wxWidgets
// ----------------------------------------------------------------------------
-// the event tables connect the wxWindows events with the functions (event
+// the event tables connect the wxWidgets events with the functions (event
// handlers) which process them. It can be also done at run-time, but for the
// simple menu events like this the static method is much simpler.
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Font_EnumEncodings, MyFrame::OnEnumerateEncodings)
END_EVENT_TABLE()
-// Create a new application object: this macro will allow wxWindows to create
+// Create a new application object: this macro will allow wxWidgets to create
// the application object during program execution (it's better than using a
// static object for many reasons) and also declares the accessor function
// wxGetApp() which will return the reference of the right type (i.e. MyApp and
bool MyApp::OnInit()
{
// Create the main application window
- MyFrame *frame = new MyFrame(wxT("Font wxWindows demo"),
+ MyFrame *frame = new MyFrame(wxT("Font wxWidgets demo"),
wxPoint(50, 50), wxSize(600, 400));
// Show it and tell the application that it's our main window
{
m_fontSize = 12;
+ SetIcon(wxIcon(sample_xpm));
+
// create a menu bar
wxMenu *menuFile = new wxMenu;
menuFont->Append(Font_IncSize, wxT("&Increase font size by 2 points\tCtrl-I"));
menuFont->Append(Font_DecSize, wxT("&Decrease font size by 2 points\tCtrl-D"));
menuFont->AppendSeparator();
- menuFont->Append(Font_Bold, wxT("&Bold\tCtrl-B"), wxT("Toggle bold state"), true);
- menuFont->Append(Font_Italic, wxT("&Oblique\tCtrl-O"), wxT("Toggle italic state"), true);
- menuFont->Append(Font_Underlined, wxT("&Underlined\tCtrl-U"),
- wxT("Toggle underlined state"), true);
+ menuFont->AppendCheckItem(Font_Bold, wxT("&Bold\tCtrl-B"), wxT("Toggle bold state"));
+ menuFont->AppendCheckItem(Font_Italic, wxT("&Oblique\tCtrl-O"), wxT("Toggle italic state"));
+ menuFont->AppendCheckItem(Font_Underlined, wxT("&Underlined\tCtrl-U"),
+ wxT("Toggle underlined state"));
menuFont->AppendSeparator();
menuFont->Append(Font_CheckNativeToFromString,
wxT("Select a standard font"));
wxMenu *menuStdFonts = new wxMenu;
- menuStdFonts->Append(Font_wxNORMAL_FONT, wxT("wxNORMAL_FONT"), wxT("Normal font used by wxWindows"));
- menuStdFonts->Append(Font_wxSMALL_FONT, wxT("wxSMALL_FONT"), wxT("Small font used by wxWindows"));
- menuStdFonts->Append(Font_wxITALIC_FONT, wxT("wxITALIC_FONT"), wxT("Italic font used by wxWindows"));
- menuStdFonts->Append(Font_wxSWISS_FONT, wxT("wxSWISS_FONT"), wxT("Swiss font used by wxWindows"));
+ menuStdFonts->Append(Font_wxNORMAL_FONT, wxT("wxNORMAL_FONT"), wxT("Normal font used by wxWidgets"));
+ menuStdFonts->Append(Font_wxSMALL_FONT, wxT("wxSMALL_FONT"), wxT("Small font used by wxWidgets"));
+ menuStdFonts->Append(Font_wxITALIC_FONT, wxT("wxITALIC_FONT"), wxT("Italic font used by wxWidgets"));
+ menuStdFonts->Append(Font_wxSWISS_FONT, wxT("wxSWISS_FONT"), wxT("Swiss font used by wxWidgets"));
menuSelect->Append(Font_Standard, wxT("Standar&d fonts"), menuStdFonts);
menuSelect->AppendSeparator();
splitter->SplitHorizontally(m_textctrl, m_canvas, 100);
+#if wxUSE_STATUSBAR
// create a status bar just for fun (by default with 1 pane only)
CreateStatusBar();
- SetStatusText(wxT("Welcome to wxWindows font demo!"));
+ SetStatusText(wxT("Welcome to wxWidgets font demo!"));
+#endif // wxUSE_STATUSBAR
}
// --------------------------------------------------------
const wxString& encoding)
{
wxString text;
- text.Printf(wxT("Encoding %d: %s (available in facename '%s')\n"),
- ++m_n, encoding.c_str(), facename.c_str());
+ text.Printf(wxT("Encoding %u: %s (available in facename '%s')\n"),
+ (unsigned int) ++m_n, encoding.c_str(), facename.c_str());
m_text += text;
return true;
}
}
wxString facename;
+
if ( silent )
{
// choose the first
delete [] facenames;
}
- if ( !facename.IsEmpty() )
+ if ( !facename.empty() )
{
wxFont font(12, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
wxFONTWEIGHT_NORMAL, false, facename, encoding);
{
wxString fontInfo = m_canvas->GetTextFont().GetNativeFontInfoDesc();
- if ( fontInfo.IsEmpty() )
+ if ( fontInfo.empty() )
{
wxLogError(wxT("Native font info string is empty!"));
}
void MyFrame::OnViewMsg(wxCommandEvent& WXUNUSED(event))
{
+#if wxUSE_FILEDLG
// first, choose the file
static wxString s_dir, s_file;
wxFileDialog dialog(this, wxT("Open an email message file"),
wxFontMapper::GetEncodingDescription(fontenc).c_str());
}
}
+#endif // wxUSE_FILEDLG
}
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
- wxMessageBox(wxT("wxWindows font demo\n")
+ wxMessageBox(wxT("wxWidgets font demo\n")
wxT("(c) 1999 Vadim Zeitlin"),
wxT("About Font"),
wxOK | wxICON_INFORMATION, this);
{
}
-MyCanvas::~MyCanvas()
-{
-}
-
void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
{
wxPaintDC dc(this);
fontInfo.Printf(wxT("Font size is %d points, family: %s, encoding: %s"),
m_font.GetPointSize(),
m_font.GetFamilyString().c_str(),
- wxFontMapper::Get()->
+ wxFontMapper::
GetEncodingDescription(m_font.GetEncoding()).c_str());
dc.DrawText(fontInfo, x, y);
{
for ( int j = 0; j < 32; j++ )
{
- wxChar c = 32 * (i + 1) + j;
+ wxChar c = (wxChar)(32 * (i + 1) + j);
long charWidth, charHeight;
dc.GetTextExtent(c, &charWidth, &charHeight);