Remove all trailing spaces
No real changes, just clean up sources by removing trailing spaces from all the non-generated files. This should hopefully avoid future commits mixing significant changes with insignificant whitespace ones.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
// Name: classlist.cpp
|
||||
// Purpose: ClassListDialog implementation
|
||||
// Author: Francesco Montorsi
|
||||
// Modified by:
|
||||
// Modified by:
|
||||
// Created: 03/06/2007 14:49:55
|
||||
// Copyright: (c) 2007 Francesco Montorsi
|
||||
// Licence: wxWindows licence
|
||||
@@ -12,7 +12,7 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
@@ -53,15 +53,15 @@ ClassListDialog::ClassListDialog()
|
||||
Init();
|
||||
}
|
||||
|
||||
ClassListDialog::ClassListDialog( wxWindow* parent, wxWindowID id,
|
||||
const wxString& caption, const wxPoint& pos,
|
||||
ClassListDialog::ClassListDialog( wxWindow* parent, wxWindowID id,
|
||||
const wxString& caption, const wxPoint& pos,
|
||||
const wxSize& size, long style )
|
||||
{
|
||||
Init();
|
||||
Create(parent, id, caption, pos, size, style);
|
||||
}
|
||||
|
||||
bool ClassListDialog::Create( wxWindow* parent, wxWindowID id, const wxString& caption,
|
||||
bool ClassListDialog::Create( wxWindow* parent, wxWindowID id, const wxString& caption,
|
||||
const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
|
||||
@@ -101,14 +101,14 @@ void ClassListDialog::CreateControls()
|
||||
// filters
|
||||
wxBoxSizer* filters = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer2->Add(filters, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||
filters->Add(new wxCheckBox(this, ID_SHOW_ONLY_XTI,
|
||||
filters->Add(new wxCheckBox(this, ID_SHOW_ONLY_XTI,
|
||||
"Show only classes with eXtended infos"));
|
||||
filters->AddSpacer(10);
|
||||
filters->Add(new wxCheckBox(this, ID_SHOW_PROPERTIES_RECURSIVELY,
|
||||
"Show properties of parent classes"));
|
||||
|
||||
// show how many have we filtered out
|
||||
m_pClassCountText = new wxStaticText( this, wxID_STATIC,
|
||||
m_pClassCountText = new wxStaticText( this, wxID_STATIC,
|
||||
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||
wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_pClassCountText->SetFont(wxFontInfo(8).Family(wxFONTFAMILY_SWISS).Bold());
|
||||
@@ -182,7 +182,7 @@ int ClassListDialog::AddClassesWithParent(const wxClassInfo *parent, const wxTre
|
||||
wxString(ci->GetBaseClassName2()) == parent->GetClassName())
|
||||
{
|
||||
wxTreeItemId child = m_pParentTreeCtrl->AppendItem(id, ci->GetClassName());
|
||||
|
||||
|
||||
// update the name of this child with the count of the children classes
|
||||
int ret = AddClassesWithParent(ci, child);
|
||||
m_pParentTreeCtrl->SetItemText(child,
|
||||
@@ -190,7 +190,7 @@ int ClassListDialog::AddClassesWithParent(const wxClassInfo *parent, const wxTre
|
||||
wxString::Format(" [%d]", ret));
|
||||
count += ret+1;
|
||||
}
|
||||
|
||||
|
||||
ci = ci->GetNext();
|
||||
}
|
||||
|
||||
@@ -281,7 +281,7 @@ void ClassListDialog::UpdateFilterText()
|
||||
// how many are we showing
|
||||
m_pClassCountText->SetLabel(
|
||||
wxString::Format(
|
||||
"Showing %d classes on a total of %d registered classes in wxXTI.",
|
||||
"Showing %d classes on a total of %d registered classes in wxXTI.",
|
||||
m_nCount, m_nTotalCount));
|
||||
}
|
||||
|
||||
@@ -386,7 +386,7 @@ wxString DumpPropertyAccessor(const wxPropertyAccessor *acc, int indent)
|
||||
|
||||
if (!acc)
|
||||
return ind + "no property accessors";
|
||||
|
||||
|
||||
if (acc->HasSetter())
|
||||
infostr << ind << "setter name: " << acc->GetSetterName();
|
||||
if (acc->HasCollectionGetter())
|
||||
@@ -442,7 +442,7 @@ wxString DumpHandlerInfo(const wxHandlerInfo *phdlr, int indent)
|
||||
if (!phdlr)
|
||||
return ind + "none";
|
||||
|
||||
infostr << ind << "event class: " <<
|
||||
infostr << ind << "event class: " <<
|
||||
(phdlr->GetEventClassInfo() ? phdlr->GetEventClassInfo()->GetClassName() : "none");
|
||||
|
||||
return infostr;
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// Name: classlist.h
|
||||
// Purpose: ClassListDialog definition
|
||||
// Author: Francesco Montorsi
|
||||
// Modified by:
|
||||
// Modified by:
|
||||
// Created: 03/06/2007 14:49:55
|
||||
// Copyright: (c) 2007 Francesco Montorsi
|
||||
// Licence: wxWindows licence
|
||||
@@ -42,7 +42,7 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class ClassListDialog: public wxDialog
|
||||
{
|
||||
{
|
||||
// we explicitly don't want to use the following macro:
|
||||
// wxDECLARE_DYNAMIC_CLASS( ClassListDialog );
|
||||
// as otherwise the ClassListDialog class would appear in the list
|
||||
@@ -52,17 +52,17 @@ class ClassListDialog: public wxDialog
|
||||
public:
|
||||
// Constructors
|
||||
ClassListDialog();
|
||||
ClassListDialog( wxWindow* parent, wxWindowID id = SYMBOL_CLASSLISTDIALOG_IDNAME,
|
||||
const wxString& caption = SYMBOL_CLASSLISTDIALOG_TITLE,
|
||||
const wxPoint& pos = SYMBOL_CLASSLISTDIALOG_POSITION,
|
||||
const wxSize& size = SYMBOL_CLASSLISTDIALOG_SIZE,
|
||||
ClassListDialog( wxWindow* parent, wxWindowID id = SYMBOL_CLASSLISTDIALOG_IDNAME,
|
||||
const wxString& caption = SYMBOL_CLASSLISTDIALOG_TITLE,
|
||||
const wxPoint& pos = SYMBOL_CLASSLISTDIALOG_POSITION,
|
||||
const wxSize& size = SYMBOL_CLASSLISTDIALOG_SIZE,
|
||||
long style = SYMBOL_CLASSLISTDIALOG_STYLE );
|
||||
|
||||
// Creation
|
||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_CLASSLISTDIALOG_IDNAME,
|
||||
const wxString& caption = SYMBOL_CLASSLISTDIALOG_TITLE,
|
||||
const wxPoint& pos = SYMBOL_CLASSLISTDIALOG_POSITION,
|
||||
const wxSize& size = SYMBOL_CLASSLISTDIALOG_SIZE,
|
||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_CLASSLISTDIALOG_IDNAME,
|
||||
const wxString& caption = SYMBOL_CLASSLISTDIALOG_TITLE,
|
||||
const wxPoint& pos = SYMBOL_CLASSLISTDIALOG_POSITION,
|
||||
const wxSize& size = SYMBOL_CLASSLISTDIALOG_SIZE,
|
||||
long style = SYMBOL_CLASSLISTDIALOG_STYLE );
|
||||
|
||||
// Destructor
|
||||
|
@@ -113,7 +113,7 @@ class WXDLLIMPEXP_BASE wxObjectConstructorWriter: public wxObjectWriterFunctor
|
||||
{
|
||||
public:
|
||||
wxObjectConstructorWriter(const wxClassTypeInfo* cti,
|
||||
wxObjectCodeReaderCallback* writer) :
|
||||
wxObjectCodeReaderCallback* writer) :
|
||||
m_cti(cti),m_writer(writer)
|
||||
{}
|
||||
|
||||
@@ -194,20 +194,20 @@ void wxObjectCodeReaderCallback::CreateObject(int objectID,
|
||||
)
|
||||
{
|
||||
int i;
|
||||
m_source += ( wxString::Format( "\t%s->Create(",
|
||||
m_source += ( wxString::Format( "\t%s->Create(",
|
||||
m_data->GetObjectName(objectID) ) );
|
||||
for (i = 0; i < paramCount; i++)
|
||||
{
|
||||
if ( objectIDValues[i] != wxInvalidObjectID )
|
||||
{
|
||||
wxString str =
|
||||
wxString::Format( "%s",
|
||||
wxString str =
|
||||
wxString::Format( "%s",
|
||||
m_data->GetObjectName( objectIDValues[i] ) );
|
||||
m_source += ( str );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_source += (
|
||||
m_source += (
|
||||
wxString::Format( "%s", ValueAsCode(params[i]) ) );
|
||||
}
|
||||
if (i < paramCount - 1)
|
||||
@@ -236,11 +236,11 @@ void wxObjectCodeReaderCallback::ConstructObject(int objectID,
|
||||
for (i = 0; i < paramCount; i++)
|
||||
{
|
||||
if ( objectIDValues[i] != wxInvalidObjectID )
|
||||
m_source += ( wxString::Format( "%s",
|
||||
m_source += ( wxString::Format( "%s",
|
||||
m_data->GetObjectName( objectIDValues[i] ) ) );
|
||||
else
|
||||
{
|
||||
m_source += (
|
||||
m_source += (
|
||||
wxString::Format( "%s", ValueAsCode(params[i]) ) );
|
||||
}
|
||||
if (i < paramCount - 1)
|
||||
@@ -308,7 +308,7 @@ void wxObjectCodeReaderCallback::SetConnect(int eventSourceObjectID,
|
||||
wxString ehsource = m_data->GetObjectName( eventSourceObjectID );
|
||||
wxString ehsink = m_data->GetObjectName(eventSinkObjectID);
|
||||
wxString ehsinkClass = eventSinkClassInfo->GetClassName();
|
||||
const wxEventSourceTypeInfo *delegateTypeInfo =
|
||||
const wxEventSourceTypeInfo *delegateTypeInfo =
|
||||
wx_dynamic_cast(const wxEventSourceTypeInfo*, delegateInfo->GetTypeInfo());
|
||||
if ( delegateTypeInfo )
|
||||
{
|
||||
@@ -316,7 +316,7 @@ void wxObjectCodeReaderCallback::SetConnect(int eventSourceObjectID,
|
||||
wxString handlerName = handlerInfo->GetName();
|
||||
|
||||
wxString code =
|
||||
wxString::Format(
|
||||
wxString::Format(
|
||||
"\t%s->Connect( %s->GetId(), %d, "
|
||||
"(wxObjectEventFunction)(wxEventFunction) & %s::%s, NULL, %s );",
|
||||
ehsource, ehsource, eventType, ehsinkClass,
|
||||
|
@@ -39,8 +39,8 @@ public:
|
||||
virtual void AllocateObject(int objectID, wxClassInfo *classInfo,
|
||||
wxStringToAnyHashMap &metadata);
|
||||
|
||||
// initialize the already allocated object having the ID objectID
|
||||
// with the Create method creation parameters which are objects are
|
||||
// initialize the already allocated object having the ID objectID
|
||||
// with the Create method creation parameters which are objects are
|
||||
// having their Ids passed in objectIDValues having objectId <> wxInvalidObjectID
|
||||
|
||||
virtual void CreateObject(int objectID,
|
||||
@@ -52,9 +52,9 @@ public:
|
||||
wxStringToAnyHashMap &metadata
|
||||
);
|
||||
|
||||
// construct the new object on the heap, that object will have the
|
||||
// passed in ID (for objects that don't support allocate-create type
|
||||
// of creation) creation parameters which are objects are having their
|
||||
// construct the new object on the heap, that object will have the
|
||||
// passed in ID (for objects that don't support allocate-create type
|
||||
// of creation) creation parameters which are objects are having their
|
||||
// Ids passed in objectIDValues having objectId <> wxInvalidObjectID
|
||||
|
||||
virtual void ConstructObject(int objectID,
|
||||
@@ -65,8 +65,8 @@ public:
|
||||
const wxClassInfo **objectClassInfos,
|
||||
wxStringToAnyHashMap &metadata);
|
||||
|
||||
// destroy the heap-allocated object having the ID objectID, this may
|
||||
// be used if an object is embedded in another object and set via value
|
||||
// destroy the heap-allocated object having the ID objectID, this may
|
||||
// be used if an object is embedded in another object and set via value
|
||||
// semantics, so the intermediate object can be destroyed after safely
|
||||
virtual void DestroyObject(int objectID, wxClassInfo *classInfo);
|
||||
|
||||
|
@@ -6,7 +6,7 @@
|
||||
|
||||
<exe id="xti" template="wx_sample" template_append="wx_append">
|
||||
<sources>xti.cpp classlist.cpp codereadercallback.cpp</sources>
|
||||
|
||||
|
||||
<wx-lib>core</wx-lib>
|
||||
<wx-lib>xml</wx-lib>
|
||||
<wx-lib>base</wx-lib>
|
||||
|
@@ -170,14 +170,14 @@ MyFrame::MyFrame(const wxString& title)
|
||||
wxMenu *helpMenu = new wxMenu;
|
||||
helpMenu->Append(Minimal_About, "&About\tF1", "Show about dialog");
|
||||
|
||||
fileMenu->Append(Minimal_Persist, "Persist a wxFrame to XML...",
|
||||
fileMenu->Append(Minimal_Persist, "Persist a wxFrame to XML...",
|
||||
"Creates a wxFrame using wxXTI and saves its description as XML");
|
||||
fileMenu->Append(Minimal_Depersist, "Depersist XML file...",
|
||||
fileMenu->Append(Minimal_Depersist, "Depersist XML file...",
|
||||
"Loads the description of wxFrame from XML");
|
||||
fileMenu->Append(Minimal_GenerateCode, "Generate code for a wxFrame saved to XML...",
|
||||
fileMenu->Append(Minimal_GenerateCode, "Generate code for a wxFrame saved to XML...",
|
||||
"Generates the C++ code which belong to a persisted wxFrame");
|
||||
fileMenu->AppendSeparator();
|
||||
fileMenu->Append(Minimal_DumpClasses, "Dump registered classes...",
|
||||
fileMenu->Append(Minimal_DumpClasses, "Dump registered classes...",
|
||||
"Dumps the description of all wxWidgets classes registered in XTI");
|
||||
fileMenu->AppendSeparator();
|
||||
fileMenu->Append(Minimal_Quit, "E&xit\tAlt-X", "Quit this program");
|
||||
@@ -204,8 +204,8 @@ MyFrame::MyFrame(const wxString& title)
|
||||
// XTI sample code
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// this is the kind of source code that would end up being generated by a
|
||||
// designer corresponding to the information we are setting up via RTTI
|
||||
// this is the kind of source code that would end up being generated by a
|
||||
// designer corresponding to the information we are setting up via RTTI
|
||||
// in the CreateFrameRTTI function:
|
||||
//
|
||||
// class MyXTIFrame : public wxFrame
|
||||
@@ -271,17 +271,17 @@ public:
|
||||
}
|
||||
|
||||
virtual bool BeforeWriteDelegate( wxObjectWriter *WXUNUSED(writer),
|
||||
const wxObject *object,
|
||||
const wxClassInfo* WXUNUSED(classInfo),
|
||||
const wxPropertyInfo *propInfo,
|
||||
const wxObject *&eventSink,
|
||||
const wxHandlerInfo* &handlerInfo )
|
||||
const wxObject *object,
|
||||
const wxClassInfo* WXUNUSED(classInfo),
|
||||
const wxPropertyInfo *propInfo,
|
||||
const wxObject *&eventSink,
|
||||
const wxHandlerInfo* &handlerInfo )
|
||||
{
|
||||
// this approach would be used if the handler would not
|
||||
// be connected really in the designer, so we have to supply
|
||||
// this approach would be used if the handler would not
|
||||
// be connected really in the designer, so we have to supply
|
||||
// the information
|
||||
const wxObject* but = wxAnyGetAsObjectPtr( m_frame->GetProperty("Button") );
|
||||
if ( object == but &&
|
||||
if ( object == but &&
|
||||
propInfo == wxCLASSINFO( wxButton )->FindPropertyInfo("OnClick") )
|
||||
{
|
||||
eventSink = m_frame;
|
||||
@@ -296,7 +296,7 @@ private:
|
||||
wxDynamicObject *m_frame;
|
||||
};
|
||||
|
||||
// sometimes linkers (at least MSVC and GCC ones) optimize the final EXE
|
||||
// sometimes linkers (at least MSVC and GCC ones) optimize the final EXE
|
||||
// even in debug mode pruning the object files which he "thinks" are useless;
|
||||
// thus the classes defined in those files won't be available in the XTI
|
||||
// table and the program will fail to allocate them.
|
||||
@@ -314,17 +314,17 @@ void RegisterFrameRTTI()
|
||||
{
|
||||
// set up the RTTI info for a class (MyXTIFrame) which
|
||||
// is not defined anywhere in this program
|
||||
wxDynamicClassInfo *dyninfo =
|
||||
wxDynamicClassInfo *dyninfo =
|
||||
wx_dynamic_cast( wxDynamicClassInfo *, wxClassInfo::FindClass("MyXTIFrame"));
|
||||
if ( dyninfo == NULL )
|
||||
{
|
||||
dyninfo = new wxDynamicClassInfo("myxtiframe.h",
|
||||
"MyXTIFrame",
|
||||
"MyXTIFrame",
|
||||
CLASSINFO(wxFrame) );
|
||||
|
||||
// this class has a property named "Button" and the relative handler:
|
||||
dyninfo->AddProperty("Button", wxGetTypeInfo((wxButton**) NULL));
|
||||
dyninfo->AddHandler("ButtonClickHandler",
|
||||
dyninfo->AddHandler("ButtonClickHandler",
|
||||
NULL /* no instance of the handler method */, CLASSINFO( wxEvent ) );
|
||||
}
|
||||
}
|
||||
@@ -339,7 +339,7 @@ wxDynamicObject* CreateFrameRTTI()
|
||||
wxFrame* frame;
|
||||
wxClassInfo *info = wxClassInfo::FindClass("MyXTIFrame");
|
||||
wxASSERT( info );
|
||||
wxDynamicObject* frameWrapper =
|
||||
wxDynamicObject* frameWrapper =
|
||||
wx_dynamic_cast(wxDynamicObject*, info->CreateObject() );
|
||||
Params[0] = wxAny((wxWindow*)(NULL));
|
||||
Params[1] = wxAny(wxWindowID(baseID++));
|
||||
@@ -532,7 +532,7 @@ bool SaveFrameRTTI(const wxString &testFileName, wxDynamicObject *frame)
|
||||
{
|
||||
// setup the XML document
|
||||
wxXmlDocument xml;
|
||||
wxXmlNode *root = new wxXmlNode(wxXML_ELEMENT_NODE,
|
||||
wxXmlNode *root = new wxXmlNode(wxXML_ELEMENT_NODE,
|
||||
"TestXTI", "This is the content");
|
||||
xml.SetRoot(root);
|
||||
|
||||
@@ -542,7 +542,7 @@ bool SaveFrameRTTI(const wxString &testFileName, wxDynamicObject *frame)
|
||||
|
||||
// write the given wxObject into the XML document
|
||||
wxStringToAnyHashMap empty;
|
||||
writer.WriteObject( frame, frame->GetClassInfo(), &persister,
|
||||
writer.WriteObject( frame, frame->GetClassInfo(), &persister,
|
||||
wxString("myTestFrame"), empty );
|
||||
|
||||
return xml.Save(testFileName);
|
||||
@@ -568,8 +568,8 @@ wxDynamicObject* LoadFrameRTTI(const wxString &fileName)
|
||||
|
||||
bool GenerateFrameRTTICode(const wxString &inFileName, const wxString &outFileName)
|
||||
{
|
||||
// is loading the streamed out component from xml and writing code that
|
||||
// will create the same component
|
||||
// is loading the streamed out component from xml and writing code that
|
||||
// will create the same component
|
||||
|
||||
wxFFileOutputStream fos( outFileName );
|
||||
wxTextOutputStream tos( fos );
|
||||
@@ -585,7 +585,7 @@ bool GenerateFrameRTTICode(const wxString &inFileName, const wxString &outFileNa
|
||||
return false;
|
||||
|
||||
// read the XML file using the wxObjectCodeReaderCallback
|
||||
|
||||
|
||||
wxString headerincludes;
|
||||
wxString sourcecode;
|
||||
wxObjectCodeReaderCallback Callbacks(headerincludes,sourcecode);
|
||||
@@ -595,7 +595,7 @@ bool GenerateFrameRTTICode(const wxString &inFileName, const wxString &outFileNa
|
||||
Reader.ReadObject( wxString("myTestFrame"), &Callbacks );
|
||||
|
||||
// header preamble
|
||||
tos <<
|
||||
tos <<
|
||||
"#include \"wx/wxprec.h\" \n#ifdef __BORLANDC__\n#pragma hdrstop\n#endif\n#ifndef WX_PRECOMP\n#include \"wx/wx.h\" \n#endif\n\n";
|
||||
// add object includes
|
||||
tos.WriteString( headerincludes );
|
||||
@@ -629,7 +629,7 @@ void MyFrame::OnPersist(wxCommandEvent& WXUNUSED(event))
|
||||
|
||||
// ask the user where to save it
|
||||
wxFileDialog dlg(this, "Where should the frame be saved?",
|
||||
wxEmptyString, "test.xml", "XML files (*.xml)|*.xml",
|
||||
wxEmptyString, "test.xml", "XML files (*.xml)|*.xml",
|
||||
wxFD_SAVE);
|
||||
if (dlg.ShowModal() == wxID_CANCEL)
|
||||
return;
|
||||
@@ -649,7 +649,7 @@ void MyFrame::OnDepersist(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// ask the user which file to load
|
||||
wxFileDialog dlg(this, "Which file contains the frame to depersist?",
|
||||
wxEmptyString, "test.xml", "XML files (*.xml)|*.xml",
|
||||
wxEmptyString, "test.xml", "XML files (*.xml)|*.xml",
|
||||
wxFD_OPEN);
|
||||
if (dlg.ShowModal() == wxID_CANCEL)
|
||||
return;
|
||||
@@ -679,14 +679,14 @@ void MyFrame::OnGenerateCode(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// ask the user which file to load
|
||||
wxFileDialog dlg(this, "Which file contains the frame to work on?",
|
||||
wxEmptyString, "test.xml", "XML files (*.xml)|*.xml",
|
||||
wxEmptyString, "test.xml", "XML files (*.xml)|*.xml",
|
||||
wxFD_OPEN);
|
||||
if (dlg.ShowModal() == wxID_CANCEL)
|
||||
return;
|
||||
|
||||
// ask the user which file to load
|
||||
wxFileDialog dlg2(this, "Where should the C++ code be saved?",
|
||||
wxEmptyString, "test.cpp", "Source files (*.cpp)|*.cpp",
|
||||
wxEmptyString, "test.cpp", "Source files (*.cpp)|*.cpp",
|
||||
wxFD_SAVE);
|
||||
if (dlg2.ShowModal() == wxID_CANCEL)
|
||||
return;
|
||||
@@ -704,13 +704,13 @@ void MyFrame::OnGenerateCode(wxCommandEvent& WXUNUSED(event))
|
||||
wxStringOutputStream str;
|
||||
f.Read(str);
|
||||
|
||||
wxDialog dlg(this, wxID_ANY, "Generated code",
|
||||
wxDialog dlg(this, wxID_ANY, "Generated code",
|
||||
wxDefaultPosition, wxDefaultSize,
|
||||
wxRESIZE_BORDER|wxDEFAULT_DIALOG_STYLE);
|
||||
wxPanel *panel = new wxPanel(&dlg);
|
||||
wxSizer *sz = new wxBoxSizer(wxVERTICAL);
|
||||
sz->Add(new wxTextCtrl(panel, wxID_ANY, str.GetString(),
|
||||
wxDefaultPosition, wxDefaultSize,
|
||||
sz->Add(new wxTextCtrl(panel, wxID_ANY, str.GetString(),
|
||||
wxDefaultPosition, wxDefaultSize,
|
||||
wxTE_MULTILINE|wxTE_READONLY|wxTE_DONTWRAP),
|
||||
1, wxGROW|wxALL, 5);
|
||||
sz->Add(new wxButton(panel, wxID_OK), 0, wxALIGN_RIGHT|wxALL, 5);
|
||||
|
Reference in New Issue
Block a user