home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / contrib / src / xrc / xh_dlg.cpp < prev    next >
C/C++ Source or Header  |  2002-08-24  |  2KB  |  78 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name:        xh_dlg.cpp
  3. // Purpose:     XRC resource for dialogs
  4. // Author:      Vaclav Slavik
  5. // Created:     2000/03/05
  6. // RCS-ID:      $Id: xh_dlg.cpp,v 1.6 2002/08/24 02:26:13 RD Exp $
  7. // Copyright:   (c) 2000 Vaclav Slavik
  8. // Licence:     wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10.  
  11. #ifdef __GNUG__
  12. #pragma implementation "xh_dlg.h"
  13. #endif
  14.  
  15. // For compilers that support precompilation, includes "wx.h".
  16. #include "wx/wxprec.h"
  17.  
  18. #ifdef __BORLANDC__
  19.     #pragma hdrstop
  20. #endif
  21.  
  22. #include "wx/xrc/xh_dlg.h"
  23. #include "wx/dialog.h"
  24. #include "wx/log.h"
  25. #include "wx/intl.h"
  26.  
  27.  
  28. wxDialogXmlHandler::wxDialogXmlHandler() : wxXmlResourceHandler()
  29. {
  30.     XRC_ADD_STYLE(wxSTAY_ON_TOP);
  31.     XRC_ADD_STYLE(wxCAPTION);
  32.     XRC_ADD_STYLE(wxDEFAULT_DIALOG_STYLE);
  33.     XRC_ADD_STYLE(wxTHICK_FRAME);
  34.     XRC_ADD_STYLE(wxSYSTEM_MENU);
  35.     XRC_ADD_STYLE(wxRESIZE_BORDER);
  36.     XRC_ADD_STYLE(wxRESIZE_BOX);
  37.     XRC_ADD_STYLE(wxDIALOG_MODAL);
  38.     XRC_ADD_STYLE(wxDIALOG_MODELESS);
  39.  
  40.     XRC_ADD_STYLE(wxNO_3D);
  41.     XRC_ADD_STYLE(wxTAB_TRAVERSAL);
  42.     XRC_ADD_STYLE(wxWS_EX_VALIDATE_RECURSIVELY);
  43.     XRC_ADD_STYLE(wxCLIP_CHILDREN);
  44.  
  45.     AddWindowStyles();
  46. }
  47.  
  48. wxObject *wxDialogXmlHandler::DoCreateResource()
  49. {
  50.     XRC_MAKE_INSTANCE(dlg, wxDialog);
  51.  
  52.     dlg->Create(m_parentAsWindow,
  53.                 GetID(),
  54.                 GetText(wxT("title")),
  55.                 wxDefaultPosition, wxDefaultSize,
  56.                 GetStyle(wxT("style"), wxDEFAULT_DIALOG_STYLE),
  57.                 GetName());
  58.  
  59.     if (HasParam(wxT("size")))
  60.         dlg->SetClientSize(GetSize());
  61.     if (HasParam(wxT("pos")))
  62.         dlg->Move(GetPosition());
  63.  
  64.     SetupWindow(dlg);
  65.  
  66.     CreateChildren(dlg);
  67.  
  68.     if (GetBool(wxT("centered"), FALSE))
  69.         dlg->Centre();
  70.  
  71.     return dlg;
  72. }
  73.  
  74. bool wxDialogXmlHandler::CanHandle(wxXmlNode *node)
  75. {
  76.     return IsOfClass(node, wxT("wxDialog"));
  77. }
  78.