#undef new
#endif
-#if wxUSE_IOSTREAMH
-#include <iostream.h>
-#else
-#include <iostream>
-#endif
-
#include <stdio.h>
#include <ctype.h>
#include <math.h>
m_brush = wxWHITE_BRUSH;
m_font = g_oglNormalFont;
m_textColour = wxBLACK;
- m_textColourName = "BLACK";
+ m_textColourName = wxT("BLACK");
m_visible = FALSE;
- m_clientData = NULL;
m_selected = FALSE;
m_attachmentMode = ATTACHMENT_MODE_NONE;
m_spaceAttachments = TRUE;
m_shadowBrush = wxBLACK_BRUSH;
m_textMarginX = 5;
m_textMarginY = 5;
- m_regionName = "0";
+ m_regionName = wxT("0");
m_centreResize = TRUE;
m_maintainAspectRatio = FALSE;
m_highlighted = FALSE;
// the region eventually (the duplication is for compatibility)
wxShapeRegion *region = new wxShapeRegion;
m_regions.Append(region);
- region->SetName("0");
+ region->SetName(wxT("0"));
region->SetFont(g_oglNormalFont);
region->SetFormatMode(FORMAT_CENTRE_HORIZ | FORMAT_CENTRE_VERT);
- region->SetColour("BLACK");
+ region->SetColour(wxT("BLACK"));
}
wxShape::~wxShape()
if (m_canvas)
m_canvas->RemoveShape(this);
- if (m_clientData) {
- delete m_clientData;
- m_clientData = NULL;
- }
-
GetEventHandler()->OnDelete();
}
return;
wxShapeRegion *region = (wxShapeRegion *)node->Data();
- region->SetText(s);
+ // region->SetText(s); // don't set the formatted text yet, it will be done below
+ region->m_regionText = s;
dc.SetFont(* region->GetFont());
region->GetSize(&w, &h);
node = stringList->First();
while (node)
{
- char *s = (char *)node->Data();
+ wxChar *s = (wxChar *)node->Data();
wxShapeTextLine *line = new wxShapeTextLine(0.0, 0.0, s);
region->GetFormattedText().Append((wxObject *)line);
node = node->Next();
{
wxNode *node = m_regions.Nth(regionId);
if (!node)
- return wxString("");
+ return wxEmptyString;
wxShapeRegion *region = (wxShapeRegion *)node->Data();
return region->GetColour();
}
{
wxNode *node = m_regions.Nth(regionId);
if (!node)
- return wxString("");
+ return wxEmptyString;
wxShapeRegion *region = (wxShapeRegion *)node->Data();
return region->GetName();
}
void wxShape::NameRegions(const wxString& parentName)
{
int n = GetNumberOfTextRegions();
- char buf[100];
+ wxString buff;
for (int i = 0; i < n; i++)
{
if (parentName.Length() > 0)
- sprintf(buf, "%s.%d", (const char*) parentName, i);
+ buff << parentName << wxT(".") << i;
else
- sprintf(buf, "%d", i);
- SetRegionName(buf, i);
+ buff << i;
+ SetRegionName(buff, i);
}
wxNode *node = m_children.First();
int j = 0;
while (node)
{
+ buff.Empty();
wxShape *child = (wxShape *)node->Data();
if (parentName.Length() > 0)
- sprintf(buf, "%s.%d", (const char*) parentName, j);
+ buff << parentName << wxT(".") << j;
else
- sprintf(buf, "%d", j);
- child->NameRegions(buf);
+ buff << j;
+ child->NameRegions(buff);
node = node->Next();
j ++;
}
for (int i = 0; i < n; i++)
{
wxString name(GetRegionName(i));
- list.Add((const char*) name);
+ list.Add(name);
}
wxNode *node = m_children.First();
if (m_pen)
penWidth = m_pen->GetWidth();
- dc.SetPen(* g_oglWhiteBackgroundPen);
- dc.SetBrush(* g_oglWhiteBackgroundBrush);
+ dc.SetPen(GetBackgroundPen());
+ dc.SetBrush(GetBackgroundBrush());
+
dc.DrawRectangle(WXROUND(topLeftX - penWidth), WXROUND(topLeftY - penWidth),
WXROUND(maxX + penWidth*2.0 + 4.0), WXROUND(maxY + penWidth*2.0 + 4.0));
}
m_lines.DeleteObject(line);
}
-#ifdef PROLOGIO
+#if wxUSE_PROLOGIO
void wxShape::WriteAttributes(wxExpr *clause)
{
clause->AddAttributeValueString("type", GetClassInfo()->GetClassName());
}
}
wxShapeTextLine *line =
- new wxShapeTextLine(the_x, the_y, (char*) (const char*) the_string);
+ new wxShapeTextLine(the_x, the_y, the_string);
m_text.Append(line);
node = node->next;
if (the_string)
{
wxShapeTextLine *line =
- new wxShapeTextLine(the_x, the_y, (char*) (const char*) the_string);
+ new wxShapeTextLine(the_x, the_y, the_string);
region->m_formattedText.Append(line);
}
node = node->next;
}
default:
{
- wxFAIL_MSG( "Unrecognised attachment point in GetBranchingAttachmentInfo." );
+ wxFAIL_MSG( wxT("Unrecognised attachment point in GetBranchingAttachmentInfo.") );
break;
}
}
}
default:
{
- wxFAIL_MSG( "Unrecognised attachment point in GetBranchingAttachmentPoint." );
+ wxFAIL_MSG( wxT("Unrecognised attachment point in GetBranchingAttachmentPoint.") );
break;
}
}
}
default:
{
- wxFAIL_MSG( "Unrecognised attachment point in GetBranchingAttachmentRoot." );
+ wxFAIL_MSG( wxT("Unrecognised attachment point in GetBranchingAttachmentRoot.") );
break;
}
}
}
}
+
+wxPen wxShape::GetBackgroundPen()
+{
+ if (GetCanvas())
+ {
+ wxColour c = GetCanvas()->GetBackgroundColour();
+ return wxPen(c, 1, wxSOLID);
+ }
+ return * g_oglWhiteBackgroundPen;
+}
+
+
+wxBrush wxShape::GetBackgroundBrush()
+{
+ if (GetCanvas())
+ {
+ wxColour c = GetCanvas()->GetBackgroundColour();
+ return wxBrush(c, wxSOLID);
+ }
+ return * g_oglWhiteBackgroundBrush;
+}
+