X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d8908b52e6d2bf682e2d1d0732137453ff6fe8c7..d43d449bdd10d1feb1c906daf8a661f2d340f2f8:/docs/latex/wx/txrc.tex diff --git a/docs/latex/wx/txrc.tex b/docs/latex/wx/txrc.tex index b117c11be5..b1cd582e52 100644 --- a/docs/latex/wx/txrc.tex +++ b/docs/latex/wx/txrc.tex @@ -73,8 +73,8 @@ These are the typical steps for using XRC files in your application. and then call \verb$wxXmlResource::Get()->Load("myfile.xrc")$ to load the resource file; \item to create a dialog from a resource, create it using the default constructor, and then load using for example \verb$wxXmlResource::Get()->LoadDialog(&dlg, this, "dlg1")$; -\item set up event tables as usual but use the \verb$XMLID(str)$ macro to translate from XRC string names -to a suitable integer identifier, for example \verb$EVT_MENU(XMLID("quit"), MyFrame::OnQuit)$. +\item set up event tables as usual but use the \verb$XRCID(str)$ macro to translate from XRC string names +to a suitable integer identifier, for example \verb$EVT\_MENU(XRCID("quit"), MyFrame::OnQuit)$. \end{itemize} To create an XRC file, use one of the following methods. @@ -128,46 +128,10 @@ For example: This is the C++ source file (xrcdemo.cpp) for the XRC sample. \begin{verbatim} -///////////////////////////////////////////////////////////////////////////// -// Name: xmldemo.cpp -// Purpose: XML resources sample -// Author: Vaclav Slavik -// RCS-ID: $Id$ -// Copyright: (c) Vaclav Slavik -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -// ============================================================================ -// declarations -// ============================================================================ - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "xrcdemo.cpp" - #pragma interface "xrcdemo.cpp" -#endif - -// For compilers that support precompilation, includes "wx/wx.h". -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ - #pragma hdrstop -#endif - -// for all others, include the necessary headers (this file is usually all you -// need because it includes almost all "standard" wxWindows headers) -#ifndef WX_PRECOMP - #include "wx/wx.h" -#endif - +#include "wx/wx.h" #include "wx/image.h" #include "wx/xrc/xmlres.h" -// ---------------------------------------------------------------------------- -// resources -// ---------------------------------------------------------------------------- // the application icon #if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__) #include "rc/appicon.xpm" @@ -212,27 +176,15 @@ private: // event tables and other macros for wxWindows // ---------------------------------------------------------------------------- -// the event tables connect the wxWindows 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(XMLID("menu_quit"), MyFrame::OnQuit) - EVT_MENU(XMLID("menu_about"), MyFrame::OnAbout) - EVT_MENU(XMLID("menu_dlg1"), MyFrame::OnDlg1) - EVT_MENU(XMLID("menu_dlg2"), MyFrame::OnDlg2) + EVT_MENU(XRCID("menu_quit"), MyFrame::OnQuit) + EVT_MENU(XRCID("menu_about"), MyFrame::OnAbout) + EVT_MENU(XRCID("menu_dlg1"), MyFrame::OnDlg1) + EVT_MENU(XRCID("menu_dlg2"), MyFrame::OnDlg2) END_EVENT_TABLE() -// Create a new application object: this macro will allow wxWindows 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 -// not wxApp) IMPLEMENT_APP(MyApp) -// ============================================================================ -// implementation -// ============================================================================ - // ---------------------------------------------------------------------------- // the application class // ---------------------------------------------------------------------------- @@ -264,9 +216,7 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) SetToolBar(wxXmlResource::Get()->LoadToolBar(this, "toolbar")); } - // event handlers - void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) { // TRUE is to force the frame to close @@ -289,7 +239,6 @@ void MyFrame::OnDlg1(wxCommandEvent& WXUNUSED(event)) dlg.ShowModal(); } - void MyFrame::OnDlg2(wxCommandEvent& WXUNUSED(event)) { wxDialog dlg; @@ -461,77 +410,8 @@ This is the XML file (resource.xrc) for the XRC sample. \subsection{XRC file format}\label{xrcfileformat} -\subsubsection{Introduction to the XRC file format}\label{xrcfileformatintro} - -This note describes the file format used for storing XRC resources that are -used by wxXmlResource class. It is probably only useful for those implementing -dialog editors with XRC support, or for those writing XRC files by hand. - -If you only want to use the resources, you can choose from a number of editors, -as listed in \helpref{XRC concepts}{xrcconcepts}. - -The XRC format is based on XML 1.0 (please consult W3C's specification). There -is no DTD available since it is not possible to fully describe the format with -the limited expressive power of DTDs. - -\subsubsection{XRC terminology}\label{xrcterminology} - -The usual XML terminology applies. In particular, we shall use the terms -{\it node}, {\it property} and {\it value} in the XML sense: - -\begin{verbatim} - ... -\end{verbatim} - -The term "attribute" is specific to XRC and refers to a property-less subnode -of an or node. In the example bellow, , - -\end{verbatim} - -\subsubsection{XRC format high-level description} - -An XRC resource file is a well-formed XML 1.0 document. - -The root node of XRC document must be . The node has -optional {\it version} property. Default version (in absence of the version -property) is "0.0.0.0". The version consists of four integers separated by -periods. Version of XRC format changes only if there was an incompatible -change introduced (i.e. either the library cannot understand old resource -files or older versions of the library wouldn't understand the new format). -The first three integers are major, minor and release number of the wxWindows -release when the change was introduced, the last one is revision number and -is 0 for the first incompatible change in given wxWindows release, 1 for -the second, and so on. - -Differences between versions are described within this document in paragraphs -entitled {\it Version Note}. - -The node is only allowed to have and -subnodes, all of which must have the "name" property. - - - TODO (name, class, subclass) - - - TODO (name, ref, subclass) - -\subsubsection{Common XRC attributes} - -Coming soon. - -\subsubsection{Supported classes} - -Coming soon. +Please see Technical Note 14 (docs/tech/tn0014.txt) in your wxWindows +distribution. \subsection{Adding new resource handlers}\label{newresourcehandlers}