/////////////////////////////////////////////////////////////////////////////
// Name: configitem.cpp
-// Purpose: wxWindows Configuration Tool config item class
+// Purpose: wxWidgets Configuration Tool config item class
// Author: Julian Smart
// Modified by:
// Created: 2003-06-03
// Licence:
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-#pragma implementation "configitem.h"
-#endif
-
-// Includes other headers for precompiled compilation
-#include "wx/wx.h"
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#include "wx/tokenzr.h"
-
#include "configitem.h"
#include "configtree.h"
#include "configtooldoc.h"
ctConfigItem::ctConfigItem()
{
- m_modified = FALSE;
+ m_modified = false;
m_type = ctTypeBoolCheck;
m_treeItemId = wxTreeItemId();
- m_enabled = TRUE;
+ m_enabled = true;
m_parent = NULL;
- m_active = TRUE;
+ m_active = true;
}
ctConfigItem::ctConfigItem(ctConfigItem* parent, ctConfigType type, const wxString& name)
{
- m_modified = FALSE;
+ m_modified = false;
m_type = type;
m_treeItemId = wxTreeItemId();
- m_enabled = FALSE;
- m_active = TRUE;
+ m_enabled = false;
+ m_active = true;
SetName(name);
m_parent = parent;
if (parent)
if (prop)
return !prop->GetReadOnly();
else
- return FALSE;
+ return false;
}
/// Assignment operator.
/// Clear children
void ctConfigItem::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();
ctConfigItem* child = (ctConfigItem*) node->GetData();
// This should delete 'node' too, assuming
m_properties.AddProperty(prop);
}
prop->SetDescription(_("<B>Name</B><P> The name of the configuration setting."));
- prop->SetReadOnly(TRUE);
+ prop->SetReadOnly(true);
m_properties.AddProperty(
new ctProperty(
m_properties.AddProperty(
new ctProperty(
wxT("<B>Default-state</B><P> The default state."),
- wxVariant((bool) TRUE, wxT("default-state")),
+ wxVariant(true, wxT("default-state")),
wxT("bool")));
if (GetType() == ctTypeString)
m_properties.AddProperty(
new ctProperty(
wxT("<B>Default-value</B><P> The default value."),
- wxVariant((bool) TRUE, wxT("default-value")),
+ wxVariant(true, wxT("default-value")),
wxT("")));
}
else if (GetType() == ctTypeInteger)
m_properties.AddProperty(
new ctProperty(
- wxT("<B>Help-topic</B><P> The help topic in the wxWindows manual for this component or setting."),
+ wxT("<B>Help-topic</B><P> The help topic in the wxWidgets manual for this component or setting."),
wxVariant(wxT(""), wxT("help-topic")),
wxT("multiline")));
/// Do additional actions to apply the property to the internal
/// representation.
-void ctConfigItem::ApplyProperty(ctProperty* prop, const wxVariant& oldValue)
+void ctConfigItem::ApplyProperty(ctProperty* prop, const wxVariant& WXUNUSED(oldValue))
{
ctConfigToolDoc* doc = GetDocument();
bool oldModified = doc->IsModified();
- doc->Modify(TRUE);
+ doc->Modify(true);
wxString name = prop->GetName();
if (name == wxT("requires") ||
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() )
{
ctConfigItem* child = (ctConfigItem*) node->GetData();
ctConfigItem* found = child->FindItem(name);
{
if (!GetParent())
return NULL;
- wxNode* node = GetParent()->GetChildren().Member(this);
+ wxObjectList::compatibility_iterator node = GetParent()->GetChildren().Member(this);
if (node && node->GetNext())
{
return (ctConfigItem*) node->GetNext()->GetData();
{
if (!GetParent())
return NULL;
- wxNode* node = GetParent()->GetChildren().Member(this);
+ wxObjectList::compatibility_iterator node = GetParent()->GetChildren().Member(this);
if (node && node->GetPrevious())
{
return (ctConfigItem*) node->GetPrevious()->GetData();
{
ctConfigItem* newItem = Clone();
- for ( wxNode* node = GetChildren().GetFirst(); node; node = node->GetNext() )
+ for ( wxObjectList::compatibility_iterator node = GetChildren().GetFirst(); node; node = node->GetNext() )
{
ctConfigItem* child = (ctConfigItem*) node->GetData();
ctConfigItem* newChild = child->DeepClone();
data->SetConfigItem(NULL);
m_treeItemId = wxTreeItemId();
- for ( wxNode* node = GetChildren().GetFirst(); node; node = node->GetNext() )
+ for ( wxObjectList::compatibility_iterator node = GetChildren().GetFirst(); node; node = node->GetNext() )
{
ctConfigItem* child = (ctConfigItem*) node->GetData();
child->DetachFromTree();
if (parent)
{
SetParent(parent);
- wxNode* node = NULL;
if (insertBefore)
- node = parent->GetChildren().Member(insertBefore);
-
- if (node)
- parent->GetChildren().Insert(node, this);
+ {
+ wxObjectList::compatibility_iterator node = parent->GetChildren().Member(insertBefore);
+ if (node)
+ parent->GetChildren().Insert(node, this);
+ else
+ parent->GetChildren().Append(this);
+ }
else
parent->GetChildren().Append(this);
}
{
wxString context = GetPropertyString(wxT("context"));
if (context.IsEmpty())
- return TRUE;
+ return true;
wxList contextItems;
StringToItems(GetDocument()->GetTopItem(), context, contextItems);
- for ( wxNode* node = contextItems.GetFirst(); node; node = node->GetNext() )
+ for ( wxObjectList::compatibility_iterator node = contextItems.GetFirst(); node; node = node->GetNext() )
{
ctConfigItem* otherItem = (ctConfigItem*) node->GetData();
if (otherItem->IsEnabled())
- return TRUE;
+ return true;
}
- return FALSE;
+ return false;
}
/// Evaluate the requires properties:
wxString enabledIfNot = GetPropertyString(wxT("enabled-if-not"));
wxString indeterminateIf = GetPropertyString(wxT("indeterminate-if"));
- bool active = TRUE;
+ bool active = true;
bool enabled = IsEnabled();
bool oldEnabled = enabled;
bool oldActive = IsActive();
- bool explicitlyEnabled = FALSE;
- bool explicitlyDisabled = FALSE;
+ bool explicitlyEnabled = false;
+ bool explicitlyDisabled = false;
bool inActiveContext = IsInActiveContext();
// Add the parent to the list of dependencies, if the
wxList tempItems;
StringToItems(GetDocument()->GetTopItem(), requires, tempItems);
- wxNode* node;
+ wxObjectList::compatibility_iterator node;
for ( node = tempItems.GetFirst(); node; node = node->GetNext() )
{
// Only consider the dependency if both items are in
if (items.GetCount() > 0 && enabledCount == 0)
{
// None of the items were enabled
- enabled = FALSE;
- active = FALSE;
- explicitlyDisabled = TRUE;
+ enabled = false;
+ active = false;
+ explicitlyDisabled = true;
}
}
int disabledCount = 0;
int inContextCount = 0;
- for ( wxNode* node = items.GetFirst(); node; node = node->GetNext() )
+ for ( wxObjectList::compatibility_iterator node = items.GetFirst(); node; node = node->GetNext() )
{
ctConfigItem* otherItem = (ctConfigItem*) node->GetData();
// Enable if there were no related items that were enabled
if (inContextCount > 0 && (disabledCount == inContextCount) && !explicitlyDisabled)
{
- explicitlyEnabled = TRUE;
- enabled = TRUE;
- active = FALSE;
+ explicitlyEnabled = true;
+ enabled = true;
+ active = false;
}
}
int enabledCount = 0;
int inContextCount = 0;
- for ( wxNode* node = items.GetFirst(); node; node = node->GetNext() )
+ for ( wxObjectList::compatibility_iterator node = items.GetFirst(); node; node = node->GetNext() )
{
ctConfigItem* otherItem = (ctConfigItem*) node->GetData();
wxString otherName = otherItem->GetName();
// Enable if there were no related items that were disabled
if (inContextCount > 0 && (enabledCount > 0) && !explicitlyDisabled)
{
- explicitlyEnabled = TRUE;
- enabled = TRUE;
- active = FALSE;
+ explicitlyEnabled = true;
+ enabled = true;
+ active = false;
}
}
// int disabledCount = 0;
int inContextCount = 0;
- for ( wxNode* node = items.GetFirst(); node; node = node->GetNext() )
+ for ( wxObjectList::compatibility_iterator node = items.GetFirst(); node; node = node->GetNext() )
{
ctConfigItem* otherItem = (ctConfigItem*) node->GetData();
if (inContextCount > 0 && (enabledCount > 0) && !explicitlyEnabled)
// if (inContextCount > 0 && (disabledCount > 0) && !explicitlyEnabled)
{
- enabled = FALSE;
- active = FALSE;
- explicitlyDisabled = TRUE;
+ enabled = false;
+ active = false;
+ explicitlyDisabled = true;
}
}
int enabledCount = 0;
int inContextCount = 0;
- for ( wxNode* node = items.GetFirst(); node; node = node->GetNext() )
+ for ( wxObjectList::compatibility_iterator node = items.GetFirst(); node; node = node->GetNext() )
{
ctConfigItem* otherItem = (ctConfigItem*) node->GetData();
}
if (inContextCount > 0 && enabledCount > 0)
{
- active = TRUE;
- explicitlyEnabled = FALSE;
- explicitlyDisabled = FALSE;
+ active = true;
+ explicitlyEnabled = false;
+ explicitlyDisabled = false;
}
}
// Finally check a sort of dependency: whether our
// context is active. If not, make this inactive.
if (!IsInActiveContext())
- active = FALSE;
+ active = false;
else
{
// If we didn't explicitly enable or disable it,
// then we should make it active.
if (!explicitlyEnabled && !explicitlyDisabled)
- active = TRUE;
+ active = true;
}
SetActive(active);
// TODO: what about string, integer? Can they have
// dependencies?
- for ( wxNode* node = GetDependents().GetFirst(); node; node = node->GetNext() )
+ for ( wxObjectList::compatibility_iterator node = GetDependents().GetFirst(); node; node = node->GetNext() )
{
ctConfigItem* child = (ctConfigItem*) node->GetData();
wxList list;
StringToItems(GetDocument()->GetTopItem(), mutuallyExclusive, list);
- for ( wxNode* node = list.GetFirst(); node; node = node->GetNext() )
+ for ( wxObjectList::compatibility_iterator node = list.GetFirst(); node; node = node->GetNext() )
{
ctConfigItem* child = (ctConfigItem*) node->GetData();
if (child->IsEnabled() && child != this)
{
- child->Enable(FALSE);
+ child->Enable(false);
child->Sync();
if (!considered.Member(child))