X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/be5a51fb592f3fa2ba38ac6cd1e488d6d806058c..54ab2b209af9c2cd8f4387bd6e50744cdc4aecd5:/utils/configtool/src/configtooldoc.cpp diff --git a/utils/configtool/src/configtooldoc.cpp b/utils/configtool/src/configtooldoc.cpp index 4ef42ebd16..7754ba4ced 100644 --- a/utils/configtool/src/configtooldoc.cpp +++ b/utils/configtool/src/configtooldoc.cpp @@ -13,23 +13,25 @@ #pragma implementation "configtooldoc.h" #endif -#include "wx/wx.h" +// For compilers that support precompilation, includes "wx/wx.h". +#include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif -#include "wx/config.h" -#include "wx/textfile.h" +#ifndef WX_PRECOMP + #include "wx/process.h" #include "wx/mimetype.h" #include "wx/process.h" -#include "wx/wfstream.h" -#ifdef __BORLANDC__ -#pragma hdrstop #endif +#include "wx/textfile.h" +#include "wx/txtstrm.h" +#include "wx/wfstream.h" +#include "wx/config.h" #include "configtooldoc.h" #include "configtoolview.h" #include "configtree.h" @@ -90,24 +92,24 @@ bool ctConfigToolDoc::OnCloseDocument() UpdateAllViews (NULL, & hint); DeleteItems(); - return TRUE; + return true; } else { - return FALSE; + return false; } } // Saves the doc bool ctConfigToolDoc::Save() { - if (!IsModified() && m_savedYet) return TRUE; + if (!IsModified() && m_savedYet) return true; bool ret = (m_documentFile == wxT("") || !m_savedYet) ? SaveAs() : OnSaveDocument(m_documentFile); if ( ret ) - SetDocumentSaved(TRUE); + SetDocumentSaved(true); return ret; } @@ -136,8 +138,8 @@ bool ctConfigToolDoc::OnCreate(const wxString& path, long flags) SetTopItem(rootItem); - Modify(FALSE); - SetDocumentSaved(FALSE); + Modify(false); + SetDocumentSaved(false); wxString rootName(wxT("untitled")); wxStripExtension(rootName); @@ -156,7 +158,7 @@ bool ctConfigToolDoc::OnCreate(const wxString& path, long flags) ctConfigToolHint hint(NULL, ctInitialUpdate); UpdateAllViews (NULL, & hint); - SetFilename(GetFilename(), TRUE); + SetFilename(GetFilename(), true); } } return success; @@ -174,14 +176,14 @@ bool ctConfigToolDoc::OnSaveDocument(const wxString& filename) // This is the backup filename wxString backupFilename(filename); backupFilename += wxT(".bak"); - + // This is the temporary copy of the backup wxString tempFilename(filename); tempFilename += wxT(".tmp"); if (wxFileExists(tempFilename)) wxRemoveFile(tempFilename); - bool leaveBackup = TRUE; + bool leaveBackup = true; bool saved = DoSave(tempFilename); @@ -192,7 +194,7 @@ bool ctConfigToolDoc::OnSaveDocument(const wxString& filename) { wxRemoveFile(backupFilename); } - + // Copy the old file to the .bak if (leaveBackup) @@ -211,17 +213,17 @@ bool ctConfigToolDoc::OnSaveDocument(const wxString& filename) if (wxFileExists(filename)) wxRemoveFile(filename); } - + // Finally, copy the temporary file to the proper filename if (!wxRenameFile(tempFilename, filename)) { wxCopyFile(tempFilename, filename); wxRemoveFile(tempFilename); - } + } - Modify(FALSE); + Modify(false); ((ctConfigToolView*)GetFirstView())->OnChangeFilename(); - SetDocumentSaved(TRUE); + SetDocumentSaved(true); SetFilename(filename); wxGetApp().GetSettings().m_lastFilename = filename; } else @@ -253,7 +255,7 @@ bool ctConfigToolDoc::OnOpenDocument(const wxString& filename) UpdateAllViews (NULL, & hint); } - SetDocumentSaved(TRUE); // Necessary or it will pop up the Save As dialog + SetDocumentSaved(true); // Necessary or it will pop up the Save As dialog return opened; } @@ -261,32 +263,36 @@ bool ctConfigToolDoc::OnOpenDocument(const wxString& filename) /// Save the settings file bool ctConfigToolDoc::DoSave(const wxString& filename) { - wxFileOutputStream stream(filename); - if (!stream.Ok()) - return FALSE; + wxFileOutputStream osFile(filename); + if (!osFile.Ok()) + return false; + + wxTextOutputStream stream(osFile); stream << wxT("\n"); stream << wxT(""); - DoSave(m_topItem, stream, 1); + DoSave(m_topItem, osFile, 1); stream << wxT("\n\n"); - return TRUE; + return true; } -inline static void OutputIndentation(wxOutputStream& stream, int indent) +inline static void OutputIndentation(wxOutputStream& osFile, int indent) { + wxTextOutputStream stream(osFile); wxString str = wxT("\n"); for (int i = 0; i < indent; i++) - str << wxT(' ') << wxT(' '); + str << wxT(" "); stream << str ; } /// Recursive helper function for file saving -bool ctConfigToolDoc::DoSave(ctConfigItem* item, wxOutputStream& stream, int indent) +bool ctConfigToolDoc::DoSave(ctConfigItem* item, wxOutputStream& osFile, int indent) { - OutputIndentation(stream, indent*2); + OutputIndentation(osFile, indent*2); + wxTextOutputStream stream(osFile); wxString name(item->GetName()); wxString s; @@ -312,25 +318,25 @@ bool ctConfigToolDoc::DoSave(ctConfigItem* item, wxOutputStream& stream, int ind indent ++; - OutputIndentation(stream, indent*2); + OutputIndentation(osFile, indent*2); if (item->IsActive()) stream << wxT("1"); else stream << wxT("0"); - OutputIndentation(stream, indent*2); + OutputIndentation(osFile, indent*2); if (item->IsEnabled()) stream << wxT("1"); else stream << wxT("0"); // Output properties - wxNode* node = item->GetProperties().GetList().GetFirst(); + wxObjectList::compatibility_iterator node = item->GetProperties().GetList().GetFirst(); while (node) { ctProperty* prop = (ctProperty*) node->GetData(); - OutputIndentation(stream, indent*2); + OutputIndentation(osFile, indent*2); stream << wxT("<") << prop->GetName() ; - + if (prop->IsCustom()) { stream << wxT(" custom=\"true\""); @@ -344,7 +350,7 @@ bool ctConfigToolDoc::DoSave(ctConfigItem* item, wxOutputStream& stream, int ind stream << wxT(" choices=\"") << choices << wxT("\""); } } - + stream << wxT(">"); stream << ctEscapeHTMLCharacters(prop->GetVariant().GetString()) ; @@ -358,17 +364,17 @@ bool ctConfigToolDoc::DoSave(ctConfigItem* item, wxOutputStream& stream, int ind while (node) { ctConfigItem* child = (ctConfigItem*) node->GetData(); - DoSave(child, stream, indent); + DoSave(child, osFile, indent); node = node->GetNext(); } indent --; - OutputIndentation(stream, indent*2); + OutputIndentation(osFile, indent*2); stream << wxT(""); - return TRUE; + return true; } /// Open the settings file @@ -389,20 +395,20 @@ bool ctConfigToolDoc::DoOpen(const wxString& filename) wxSimpleHtmlTag* firstSettingTag = settingsTag->GetChildren(); if (firstSettingTag) DoOpen(firstSettingTag, NULL); - return TRUE; + return true; } - return TRUE; + return true; } } - return FALSE; + return false; } static bool GetHtmlBoolValue(const wxString& value) { - if (value == wxT("true") || value == wxT("TRUE") || value == wxT("1")) - return TRUE; - else - return FALSE; + if (value.IsSameAs(wxT("true"),false) || value == wxT("1")) + return true; + else + return false; } static int GetHtmlIntegerValue(const wxString& value) @@ -506,7 +512,7 @@ bool ctConfigToolDoc::DoOpen(wxSimpleHtmlTag* tag, ctConfigItem* parent) childTag->GetAttributeValue(description, wxT("description")); if (type == wxT("bool")) - prop->GetVariant() = wxVariant((bool) FALSE, name); + prop->GetVariant() = wxVariant(false, name); else if (type == wxT("double")) prop->GetVariant() = wxVariant((double) 0.0, name); else if (type == wxT("long")) @@ -514,7 +520,7 @@ bool ctConfigToolDoc::DoOpen(wxSimpleHtmlTag* tag, ctConfigItem* parent) else prop->GetVariant() = wxVariant(wxT(""), name); prop->SetDescription(description); - prop->SetCustom(TRUE); + prop->SetCustom(true); prop->SetEditorType(editorType); if (!choices.IsEmpty()) { @@ -532,7 +538,7 @@ bool ctConfigToolDoc::DoOpen(wxSimpleHtmlTag* tag, ctConfigItem* parent) else if (prop->GetVariant().GetType() == wxT("long")) prop->GetVariant() = (long) GetHtmlIntegerValue(childTag->GetNext()->GetTagText()); else if (prop->GetVariant().GetType() == wxT("bool")) - prop->GetVariant() = (bool) GetHtmlBoolValue(childTag->GetNext()->GetTagText()); + prop->GetVariant() = GetHtmlBoolValue(childTag->GetNext()->GetTagText()); else if (prop->GetVariant().GetType() == wxT("double")) prop->GetVariant() = (double) GetHtmlDoubleValue(childTag->GetNext()->GetTagText()); } @@ -541,17 +547,20 @@ bool ctConfigToolDoc::DoOpen(wxSimpleHtmlTag* tag, ctConfigItem* parent) } childTag = childTag->GetNext(); } - return TRUE; + return true; } /// Clear dependencies void ctConfigToolDoc::ClearDependencies(ctConfigItem* item) { - if (!item) + if (!item) { item = GetTopItem(); + if (!item) + return; + } item->GetDependents().Clear(); - for ( wxNode* node = item->GetChildren().GetFirst(); node; node = node->GetNext() ) + for ( wxObjectList::compatibility_iterator node = item->GetChildren().GetFirst(); node; node = node->GetNext() ) { ctConfigItem* child = (ctConfigItem*) node->GetData(); ClearDependencies(child); @@ -568,6 +577,9 @@ void ctConfigToolDoc::RefreshDependencies() /// Refresh dependencies void ctConfigToolDoc::RefreshDependencies(ctConfigItem* item) { + if (item==NULL) + return; + wxArrayString requiresArr; wxString requires = item->GetPropertyString(wxT("requires")); wxString precludes = item->GetPropertyString(wxT("precludes")); @@ -595,7 +607,7 @@ void ctConfigToolDoc::RefreshDependencies(ctConfigItem* item) // parent is a check or radio group. ctConfigItem* parent = item->GetParent(); if (parent && - (parent->GetType() == ctTypeCheckGroup || + (parent->GetType() == ctTypeCheckGroup || parent->GetType() == ctTypeRadioGroup)) requiresArr.Add(parent->GetName()); @@ -616,7 +628,7 @@ void ctConfigToolDoc::RefreshDependencies(ctConfigItem* item) otherItem->GetDependents().Append(item); } } - for ( wxNode* node = item->GetChildren().GetFirst(); node; node = node->GetNext() ) + for ( wxObjectList::compatibility_iterator node = item->GetChildren().GetFirst(); node; node = node->GetNext() ) { ctConfigItem* child = (ctConfigItem*) node->GetData(); RefreshDependencies(child); @@ -665,7 +677,7 @@ void ctConfigToolDoc::GenerateSetup(ctConfigItem* item, wxString& str) } } - for ( wxNode* node = item->GetChildren().GetFirst(); node; node = node->GetNext() ) + for ( wxObjectList::compatibility_iterator node = item->GetChildren().GetFirst(); node; node = node->GetNext() ) { ctConfigItem* child = (ctConfigItem*) node->GetData(); GenerateSetup(child, str); @@ -679,8 +691,8 @@ wxString ctConfigToolDoc::GenerateConfigureCommand() wxString str; str << wxT("# configurewx\n# Generated by wxConfigTool\n\n"); - wxString path = GetFrameworkDir(TRUE); - bool makeUnix = TRUE; + wxString path = GetFrameworkDir(true); + bool makeUnix = true; if (!path.IsEmpty()) { if (makeUnix) @@ -695,7 +707,7 @@ wxString ctConfigToolDoc::GenerateConfigureCommand() ctConfigItem* platformsFolder = GetTopItem()->FindItem(wxT("Target")); if (platformsFolder) { - for ( wxNode* node = platformsFolder->GetChildren().GetFirst(); node; node = node->GetNext() ) + for ( wxObjectList::compatibility_iterator node = platformsFolder->GetChildren().GetFirst(); node; node = node->GetNext() ) { ctConfigItem* child = (ctConfigItem*) node->GetData(); if (child->GetType() == ctTypeBoolRadio && child->IsEnabled()) @@ -765,11 +777,11 @@ void ctConfigToolDoc::GenerateConfigureCommand(ctConfigItem* item, wxString& str { str << wxT(" ") << configureCommand; } - } + } } } - for ( wxNode* node = item->GetChildren().GetFirst(); node; node = node->GetNext() ) + for ( wxObjectList::compatibility_iterator node = item->GetChildren().GetFirst(); node; node = node->GetNext() ) { ctConfigItem* child = (ctConfigItem*) node->GetData(); GenerateConfigureCommand(child, str); @@ -784,7 +796,8 @@ wxString ctConfigToolDoc::GetFrameworkDir(bool makeUnix) { // Should probably allow other variables // to be used, and maybe expand variables within m_frameworkDir - path = wxGetenv(wxT("WXWIN")); + wxString pathEnv(wxGetenv(wxT("WXWIN"))); + path = pathEnv; #ifdef __WXMSW__ if (makeUnix) path.Replace(wxT("\\"), wxT("/")); @@ -828,7 +841,7 @@ ctConfigItem* ctConfigToolDoc::FindNextSibling(ctConfigItem* item) { if (item->GetParent()) { - wxNode* node = item->GetParent()->GetChildren().Member(item); + wxObjectList::compatibility_iterator node = item->GetParent()->GetChildren().Member(item); if (node && node->GetNext()) { ctConfigItem* nextItem = (ctConfigItem*) node->GetNext()->GetData(); @@ -846,7 +859,7 @@ ctConfigItem* ctConfigToolDoc::FindNextSibling(ctConfigItem* item) ctConfigCommand::ctConfigCommand(const wxString& name, int cmdId, ctConfigItem* activeState, ctConfigItem* savedState, ctConfigItem* parent, ctConfigItem* insertBefore, - bool ignoreFirstTime): wxCommand(TRUE, name) + bool ignoreFirstTime): wxCommand(true, name) { m_activeState = activeState; m_savedState = savedState; @@ -859,7 +872,7 @@ ctConfigCommand::ctConfigCommand(const wxString& name, int cmdId, ctConfigCommand::ctConfigCommand(const wxString& name, int cmdId, ctConfigItem* activeState, ctProperties* properties, - bool ignoreFirstTime): wxCommand(TRUE, name) + bool ignoreFirstTime): wxCommand(true, name) { m_activeState = activeState; m_savedState = NULL; @@ -881,12 +894,12 @@ ctConfigCommand::~ctConfigCommand() bool ctConfigCommand::Do() { - return DoAndUndo(TRUE); + return DoAndUndo(true); } bool ctConfigCommand::Undo() { - return DoAndUndo(FALSE); + return DoAndUndo(false); } // Combine Do and Undo into one @@ -906,7 +919,7 @@ bool ctConfigCommand::DoAndUndo(bool doCmd) // This will delete the old clipboard contents, if any. doc->SetClipboardItem(newItem); - + m_parent = m_activeState->GetParent(); m_insertBefore = m_activeState->FindNextSibling(); @@ -914,7 +927,7 @@ bool ctConfigCommand::DoAndUndo(bool doCmd) m_savedState = m_activeState; m_activeState = NULL; - m_savedState->GetDocument()->Modify(TRUE); + m_savedState->GetDocument()->Modify(true); ctConfigToolView* view = (ctConfigToolView*) m_savedState->GetDocument()->GetFirstView(); view->OnChangeFilename(); } @@ -923,7 +936,7 @@ bool ctConfigCommand::DoAndUndo(bool doCmd) wxASSERT(m_savedState != NULL); wxASSERT(m_activeState == NULL); - m_savedState->GetDocument()->Modify(TRUE); + m_savedState->GetDocument()->Modify(true); m_savedState->Attach(m_parent, m_insertBefore); ctConfigToolView* view = (ctConfigToolView*) m_savedState->GetDocument()->GetFirstView(); view->AddItems(wxGetApp().GetMainFrame()->GetConfigTreeCtrl(), m_savedState); @@ -942,7 +955,7 @@ bool ctConfigCommand::DoAndUndo(bool doCmd) wxASSERT(m_savedState != NULL); wxASSERT(m_activeState == NULL); - m_savedState->GetDocument()->Modify(TRUE); + m_savedState->GetDocument()->Modify(true); m_savedState->Attach(m_parent, m_insertBefore); ctConfigToolView* view = (ctConfigToolView*) m_savedState->GetDocument()->GetFirstView(); view->AddItems(wxGetApp().GetMainFrame()->GetConfigTreeCtrl(), m_savedState); @@ -956,7 +969,7 @@ bool ctConfigCommand::DoAndUndo(bool doCmd) wxASSERT(m_savedState == NULL); wxASSERT(m_activeState != NULL); - m_activeState->GetDocument()->Modify(TRUE); + m_activeState->GetDocument()->Modify(true); ctConfigToolView* view = (ctConfigToolView*) m_activeState->GetDocument()->GetFirstView(); m_activeState->Detach(); m_savedState = m_activeState; @@ -972,7 +985,7 @@ bool ctConfigCommand::DoAndUndo(bool doCmd) wxASSERT(m_savedState != NULL); wxASSERT(m_activeState == NULL); - m_savedState->GetDocument()->Modify(TRUE); + m_savedState->GetDocument()->Modify(true); m_savedState->Attach(m_parent, m_insertBefore); ctConfigToolView* view = (ctConfigToolView*) m_savedState->GetDocument()->GetFirstView(); view->AddItems(wxGetApp().GetMainFrame()->GetConfigTreeCtrl(), m_savedState); @@ -986,7 +999,7 @@ bool ctConfigCommand::DoAndUndo(bool doCmd) wxASSERT(m_savedState == NULL); wxASSERT(m_activeState != NULL); - m_activeState->GetDocument()->Modify(TRUE); + m_activeState->GetDocument()->Modify(true); m_activeState->Detach(); m_savedState = m_activeState; m_activeState = NULL; @@ -1010,7 +1023,7 @@ bool ctConfigCommand::DoAndUndo(bool doCmd) // Apply only those that need applying // (those properties in activeState that are not in propsTemp) - wxNode* node = m_activeState->GetProperties().GetList().GetFirst(); + wxObjectList::compatibility_iterator node = m_activeState->GetProperties().GetList().GetFirst(); while (node) { ctProperty* prop = (ctProperty*) node->GetData(); @@ -1021,7 +1034,7 @@ bool ctConfigCommand::DoAndUndo(bool doCmd) } node = node->GetNext(); } - m_activeState->GetDocument()->Modify(TRUE); + m_activeState->GetDocument()->Modify(true); ctConfigToolView* view = (ctConfigToolView*) m_activeState->GetDocument()->GetFirstView(); if (view) { @@ -1029,12 +1042,12 @@ bool ctConfigCommand::DoAndUndo(bool doCmd) m_activeState->GetDocument()->UpdateAllViews (NULL, & hint); } } - m_ignoreThis = FALSE; + m_ignoreThis = false; break; } } - return TRUE; + return true; } IMPLEMENT_CLASS(ctConfiguration, wxObject) @@ -1074,7 +1087,7 @@ ctConfiguration::~ctConfiguration() wxGetApp().GetMainFrame()->GetDocument()->SetTopItem(NULL); } */ - + Clear(); } @@ -1088,10 +1101,10 @@ void ctConfiguration::operator= (const ctConfiguration& configuration) /// Clear children void ctConfiguration::Clear() { - wxNode* node = m_children.GetFirst(); + wxObjectList::compatibility_iterator node = m_children.GetFirst(); while (node) { - wxNode* next = node->GetNext(); + wxObjectList::compatibility_iterator next = node->GetNext(); ctConfiguration* child = (ctConfiguration*) node->GetData(); // This should delete 'node' too, assuming @@ -1153,7 +1166,7 @@ ctConfiguration* ctConfiguration::FindConfiguration(const wxString& name) if (GetName() == name) return this; - for ( wxNode* node = GetChildren().GetFirst(); node; node = node->GetNext() ) + for ( wxObjectList::compatibility_iterator node = GetChildren().GetFirst(); node; node = node->GetNext() ) { ctConfiguration* child = (ctConfiguration*) node->GetData(); ctConfiguration* found = child->FindConfiguration(name); @@ -1168,7 +1181,7 @@ ctConfiguration* ctConfiguration::FindNextSibling() { if (!GetParent()) return NULL; - wxNode* node = GetParent()->GetChildren().Member(this); + wxObjectList::compatibility_iterator node = GetParent()->GetChildren().Member(this); if (node && node->GetNext()) { return (ctConfiguration*) node->GetNext()->GetData(); @@ -1181,7 +1194,7 @@ ctConfiguration* ctConfiguration::FindPreviousSibling() { if (!GetParent()) return NULL; - wxNode* node = GetParent()->GetChildren().Member(this); + wxObjectList::compatibility_iterator node = GetParent()->GetChildren().Member(this); if (node && node->GetPrevious()) { return (ctConfiguration*) node->GetPrevious()->GetData(); @@ -1194,7 +1207,7 @@ ctConfiguration* ctConfiguration::DeepClone() { ctConfiguration* newItem = Clone(); - for ( wxNode* node = GetChildren().GetFirst(); node; node = node->GetNext() ) + for ( wxObjectList::compatibility_iterator node = GetChildren().GetFirst(); node; node = node->GetNext() ) { ctConfiguration* child = (ctConfiguration*) node->GetData(); ctConfiguration* newChild = child->DeepClone(); @@ -1242,5 +1255,3 @@ void ctConfiguration::DetachFromTree() } */ } - -