Docview mended (grrr) and OGL studio partially working under wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -117,31 +117,81 @@ bool csApp::CreatePalette(wxFrame *parent)
|
|||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
wxBitmap PaletteArrow("arrowtool");
|
wxBitmap PaletteArrow("arrowtool");
|
||||||
wxBitmap TextTool("texttool");
|
wxBitmap TextTool("texttool");
|
||||||
|
wxSize toolBitmapSize(32, 32);
|
||||||
#elif defined(__WXGTK__) || defined(__WXMOTIF__)
|
#elif defined(__WXGTK__) || defined(__WXMOTIF__)
|
||||||
wxBitmap PaletteArrow(arrow_xpm);
|
wxBitmap PaletteArrow(arrow_xpm);
|
||||||
wxBitmap TextTool(texttool_xpm);
|
wxBitmap TextTool(texttool_xpm);
|
||||||
|
wxSize toolBitmapSize(22, 22);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
csEditorToolPalette *palette = new csEditorToolPalette(m_diagramPaletteSashWindow, ID_DIAGRAM_PALETTE, wxPoint(0, 0), wxSize(-1, -1), wxTB_HORIZONTAL|wxNO_BORDER);
|
csEditorToolPalette *palette = new csEditorToolPalette(m_diagramPaletteSashWindow, ID_DIAGRAM_PALETTE, wxPoint(0, 0), wxSize(-1, -1), wxTB_HORIZONTAL|wxNO_BORDER);
|
||||||
|
|
||||||
palette->SetMargins(2, 2);
|
palette->SetMargins(2, 2);
|
||||||
|
|
||||||
palette->SetToolBitmapSize(wxSize(32, 32));
|
palette->SetToolBitmapSize(toolBitmapSize);
|
||||||
|
|
||||||
palette->AddTool(PALETTE_ARROW, PaletteArrow, wxNullBitmap, TRUE, 0, -1, NULL, "Pointer");
|
palette->AddTool(PALETTE_ARROW, PaletteArrow, wxNullBitmap, TRUE, 0, -1, NULL, "Pointer");
|
||||||
palette->AddTool(PALETTE_TEXT_TOOL, TextTool, wxNullBitmap, TRUE, 0, -1, NULL, "Text");
|
palette->AddTool(PALETTE_TEXT_TOOL, TextTool, wxNullBitmap, TRUE, 0, -1, NULL, "Text");
|
||||||
|
|
||||||
|
char** symbols = new char*[20];
|
||||||
|
int noSymbols = 0;
|
||||||
|
|
||||||
|
symbols[noSymbols] = "Wide Rectangle";
|
||||||
|
noSymbols ++;
|
||||||
|
|
||||||
|
symbols[noSymbols] = "Thin Rectangle";
|
||||||
|
noSymbols ++;
|
||||||
|
|
||||||
|
symbols[noSymbols] = "Triangle";
|
||||||
|
noSymbols ++;
|
||||||
|
|
||||||
|
symbols[noSymbols] = "Octagon";
|
||||||
|
noSymbols ++;
|
||||||
|
|
||||||
|
// For some reason, we're getting Gdk errors with
|
||||||
|
// some shapes, such as ones that use DrawEllipse.
|
||||||
|
#ifndef __WXGTK__
|
||||||
|
symbols[noSymbols] = "Group";
|
||||||
|
noSymbols ++;
|
||||||
|
|
||||||
|
symbols[noSymbols] = "Circle";
|
||||||
|
noSymbols ++;
|
||||||
|
|
||||||
|
symbols[noSymbols] = "Circle shadow";
|
||||||
|
noSymbols ++;
|
||||||
|
|
||||||
|
symbols[noSymbols] = "SemiCircle";
|
||||||
|
noSymbols ++;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < noSymbols; i++)
|
||||||
|
{
|
||||||
|
csSymbol* symbol = GetSymbolDatabase()->FindSymbol(symbols[i]);
|
||||||
|
if (symbol)
|
||||||
|
{
|
||||||
|
wxBitmap* bitmap = GetSymbolDatabase()->CreateToolBitmap(symbol, toolBitmapSize);
|
||||||
|
palette->AddTool(symbol->GetToolId(), *bitmap, wxNullBitmap, TRUE, 0, -1, NULL, symbol->GetName());
|
||||||
|
|
||||||
|
delete bitmap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete[] symbols;
|
||||||
|
|
||||||
|
#if 0
|
||||||
wxNode* node = GetSymbolDatabase()->GetSymbols().First();
|
wxNode* node = GetSymbolDatabase()->GetSymbols().First();
|
||||||
while (node)
|
while (node)
|
||||||
{
|
{
|
||||||
csSymbol* symbol = (csSymbol*) node->Data();
|
csSymbol* symbol = (csSymbol*) node->Data();
|
||||||
wxBitmap* bitmap = GetSymbolDatabase()->CreateToolBitmap(symbol);
|
|
||||||
|
wxBitmap* bitmap = GetSymbolDatabase()->CreateToolBitmap(symbol, toolBitmapSize);
|
||||||
palette->AddTool(symbol->GetToolId(), *bitmap, wxNullBitmap, TRUE, 0, -1, NULL, symbol->GetName());
|
palette->AddTool(symbol->GetToolId(), *bitmap, wxNullBitmap, TRUE, 0, -1, NULL, symbol->GetName());
|
||||||
|
|
||||||
delete bitmap;
|
delete bitmap;
|
||||||
|
|
||||||
node = node->Next();
|
node = node->Next();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
palette->Realize();
|
palette->Realize();
|
||||||
|
|
||||||
|
@@ -168,9 +168,11 @@ bool csApp::OnInit(void)
|
|||||||
// The ordering of these is important for layout purposes
|
// The ordering of these is important for layout purposes
|
||||||
CreateDiagramToolBar(frame);
|
CreateDiagramToolBar(frame);
|
||||||
CreatePalette(frame);
|
CreatePalette(frame);
|
||||||
CreateProjectWindow(frame);
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
CreateProjectWindow(frame);
|
||||||
FillProjectTreeCtrl();
|
FillProjectTreeCtrl();
|
||||||
|
*/
|
||||||
|
|
||||||
// Create the shape editing menu
|
// Create the shape editing menu
|
||||||
m_shapeEditMenu = new ShapeEditMenu;
|
m_shapeEditMenu = new ShapeEditMenu;
|
||||||
|
@@ -166,16 +166,31 @@ void csApp::InitSymbols()
|
|||||||
m_symbolDatabase->AddSymbol(new csSymbol("Group", shape));
|
m_symbolDatabase->AddSymbol(new csSymbol("Group", shape));
|
||||||
}
|
}
|
||||||
|
|
||||||
wxBitmap* csSymbolDatabase::CreateToolBitmap(csSymbol* symbol)
|
wxBitmap* csSymbolDatabase::CreateToolBitmap(csSymbol* symbol, const wxSize& toolSize)
|
||||||
{
|
{
|
||||||
int objectBitmapSize = 32;
|
|
||||||
|
|
||||||
symbol->GetShape()->Recompute();
|
symbol->GetShape()->Recompute();
|
||||||
|
|
||||||
wxBitmap *newBitmap = new wxBitmap(objectBitmapSize, objectBitmapSize);
|
wxBitmap *newBitmap = new wxBitmap(toolSize.x, toolSize.y);
|
||||||
|
|
||||||
|
// Test code
|
||||||
|
#if 0
|
||||||
wxMemoryDC memDC;
|
wxMemoryDC memDC;
|
||||||
|
memDC.SelectObject(*newBitmap);
|
||||||
|
memDC.SetPen(* wxBLACK_PEN);
|
||||||
|
memDC.SetBrush(* wxWHITE_BRUSH);
|
||||||
|
memDC.SetBackground(wxBrush(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE), wxSOLID));
|
||||||
|
memDC.SetLogicalFunction(wxCOPY);
|
||||||
|
memDC.Clear();
|
||||||
|
|
||||||
|
memDC.DrawLine(0, 0, toolSize.x, toolSize.y);
|
||||||
|
memDC.DrawLine(0, toolSize.y, toolSize.x, 0);
|
||||||
|
|
||||||
|
memDC.SelectObject(wxNullBitmap);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 1
|
||||||
|
wxMemoryDC memDC;
|
||||||
|
|
||||||
double height, width, maxSize;
|
double height, width, maxSize;
|
||||||
symbol->GetShape()->GetBoundingBoxMax(&width, &height);
|
symbol->GetShape()->GetBoundingBoxMax(&width, &height);
|
||||||
|
|
||||||
@@ -185,18 +200,22 @@ wxBitmap* csSymbolDatabase::CreateToolBitmap(csSymbol* symbol)
|
|||||||
maxSize = width;
|
maxSize = width;
|
||||||
|
|
||||||
double borderMargin = 4.0;
|
double borderMargin = 4.0;
|
||||||
double scaleFactor = (double)(objectBitmapSize / (maxSize + 2*borderMargin));
|
double scaleFactor = (double)(toolSize.x / (maxSize + 2*borderMargin));
|
||||||
double centreX = (double)((objectBitmapSize/scaleFactor)/2.0)-1;
|
double centreX = (double)((toolSize.x/scaleFactor)/2.0)-1;
|
||||||
double centreY = centreX;
|
double centreY = centreX;
|
||||||
|
|
||||||
memDC.SelectObject(*newBitmap);
|
memDC.SelectObject(*newBitmap);
|
||||||
|
|
||||||
memDC.SetUserScale(scaleFactor, scaleFactor);
|
memDC.SetUserScale(scaleFactor, scaleFactor);
|
||||||
|
|
||||||
memDC.SetBackground(wxBrush(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE), wxSOLID));
|
memDC.SetBackground(wxBrush(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE), wxSOLID));
|
||||||
memDC.Clear();
|
memDC.Clear();
|
||||||
|
|
||||||
symbol->GetShape()->Show(TRUE);
|
symbol->GetShape()->Show(TRUE);
|
||||||
symbol->GetShape()->Move(memDC, centreX, centreY);
|
symbol->GetShape()->Move(memDC, centreX, centreY);
|
||||||
|
|
||||||
memDC.SelectObject(wxNullBitmap);
|
memDC.SelectObject(wxNullBitmap);
|
||||||
|
#endif
|
||||||
|
|
||||||
return newBitmap;
|
return newBitmap;
|
||||||
}
|
}
|
||||||
|
@@ -65,7 +65,7 @@ public:
|
|||||||
void ClearSymbols();
|
void ClearSymbols();
|
||||||
csSymbol* FindSymbol(const wxString& name) const;
|
csSymbol* FindSymbol(const wxString& name) const;
|
||||||
csSymbol* FindSymbol(int toolId) const;
|
csSymbol* FindSymbol(int toolId) const;
|
||||||
wxBitmap* CreateToolBitmap(csSymbol* symbol);
|
wxBitmap* CreateToolBitmap(csSymbol* symbol, const wxSize& sz);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxList m_symbols;
|
wxList m_symbols;
|
||||||
|
@@ -26,6 +26,7 @@ samples/html/virtual/Makefile.in
|
|||||||
samples/html/widget/Makefile.in
|
samples/html/widget/Makefile.in
|
||||||
samples/html/zip/Makefile.in
|
samples/html/zip/Makefile.in
|
||||||
samples/image/Makefile.in
|
samples/image/Makefile.in
|
||||||
|
samples/joytest/Makefile.in
|
||||||
samples/layout/Makefile.in
|
samples/layout/Makefile.in
|
||||||
samples/listctrl/Makefile.in
|
samples/listctrl/Makefile.in
|
||||||
samples/mdi/Makefile.in
|
samples/mdi/Makefile.in
|
||||||
|
@@ -27,6 +27,7 @@ erase %dest\tex2rtf2.zip
|
|||||||
erase %dest\jpeg.zip
|
erase %dest\jpeg.zip
|
||||||
erase %dest\tiff.zip
|
erase %dest\tiff.zip
|
||||||
erase %dest\dialoged.zip
|
erase %dest\dialoged.zip
|
||||||
|
erase %dest\utils.zip
|
||||||
|
|
||||||
if direxist %dest\wx deltree /Y %dest\wx
|
if direxist %dest\wx deltree /Y %dest\wx
|
||||||
|
|
||||||
@@ -86,6 +87,10 @@ zip32 -@ %dest\dialoged_source.zip < %src\distrib\msw\dialoged.rsp
|
|||||||
zip32 -j %dest\dialoged.zip %dest\dialoged_source.zip %src\bin\dialoged.exe %src\bin\dialoged.hlp %src\bin\dialoged.cnt
|
zip32 -j %dest\dialoged.zip %dest\dialoged_source.zip %src\bin\dialoged.exe %src\bin\dialoged.hlp %src\bin\dialoged.cnt
|
||||||
erase %dest\dialoged_source.zip
|
erase %dest\dialoged_source.zip
|
||||||
|
|
||||||
|
rem Misc. utils not in the main distribution
|
||||||
|
zip32 -@ %dest\utils.zip < %src\distrib\msw\utils.rsp
|
||||||
|
zip32 -@ -u %dest\utils.zip < %src\distrib\msw\utilmake.rsp
|
||||||
|
|
||||||
copy %src\docs\changes.txt %dest
|
copy %src\docs\changes.txt %dest
|
||||||
copy %src\docs\msw\install.txt %dest\install_msw.txt
|
copy %src\docs\msw\install.txt %dest\install_msw.txt
|
||||||
copy %src\docs\motif\install.txt %dest\install_motif.txt
|
copy %src\docs\motif\install.txt %dest\install_motif.txt
|
||||||
@@ -148,7 +153,8 @@ erase /Y %dest\setup.*
|
|||||||
rem Now invoke WISE install on the new wxwin2.wse
|
rem Now invoke WISE install on the new wxwin2.wse
|
||||||
set wisecmd="c:\Program Files\wise\wise32.exe" /C %WXWIN\distrib\msw\wxwin2.wse
|
set wisecmd="c:\Program Files\wise\wise32.exe" /C %WXWIN\distrib\msw\wxwin2.wse
|
||||||
echo Invoking %wisecmd...
|
echo Invoking %wisecmd...
|
||||||
start /w %wisecmd
|
start %wisecmd
|
||||||
|
pause Press any key to continue with the wxWindows distribution...
|
||||||
Rem ren %WXWIN\deliver\setup.EXE %WXWIN\deliver\setup_%version%.exe
|
Rem ren %WXWIN\deliver\setup.EXE %WXWIN\deliver\setup_%version%.exe
|
||||||
|
|
||||||
cd %dest
|
cd %dest
|
||||||
|
@@ -335,7 +335,10 @@ public:
|
|||||||
|
|
||||||
// called when file format detection didn't work, can be overridden to do
|
// called when file format detection didn't work, can be overridden to do
|
||||||
// something in this case
|
// something in this case
|
||||||
virtual void OnOpenFileFailure() { wxFAIL_MSG(_T("file format mismatch")); }
|
// This is of course completely stupid, because if the file dialog is
|
||||||
|
// cancelled you get an assert. Brilliant. -- JACS
|
||||||
|
// virtual void OnOpenFileFailure() { wxFAIL_MSG(_T("file format mismatch")); }
|
||||||
|
virtual void OnOpenFileFailure() { }
|
||||||
|
|
||||||
virtual wxDocument *CreateDocument(const wxString& path, long flags = 0);
|
virtual wxDocument *CreateDocument(const wxString& path, long flags = 0);
|
||||||
virtual wxView *CreateView(wxDocument *doc, long flags = 0);
|
virtual wxView *CreateView(wxDocument *doc, long flags = 0);
|
||||||
|
Reference in New Issue
Block a user