wxFrame::CreateToolBar() stuff
wxDC::SetBackground from Chris Breeze zillions of compile fixes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -811,7 +811,7 @@ void wxDocManager::OnPreview(wxCommandEvent& WXUNUSED(event))
|
||||
preview = new wxWindowsPrintPreview(printout, view->OnCreatePrintout());
|
||||
else
|
||||
#endif
|
||||
preview = new wxPostScriptPrintPreview(printout, view->OnCreatePrintout());
|
||||
preview = new wxPostScriptPrintPreview(printout, view->OnCreatePrintout());
|
||||
|
||||
wxPreviewFrame *frame = new wxPreviewFrame(preview, (wxFrame *)wxTheApp->GetTopWindow(), "Print Preview",
|
||||
wxPoint(100, 100), wxSize(600, 650));
|
||||
|
@@ -356,7 +356,7 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event)
|
||||
|
||||
while (table.entries[i].m_fn != NULL)
|
||||
{
|
||||
wxEventType eventType = (wxEventType) table.entries[i].m_eventType;
|
||||
// wxEventType eventType = (wxEventType) table.entries[i].m_eventType;
|
||||
|
||||
if ((event.GetEventType() == table.entries[i].m_eventType) &&
|
||||
(table.entries[i].m_id == -1 || // Match, if event spec says any id will do (id == -1)
|
||||
@@ -407,7 +407,8 @@ bool wxEvtHandler::SearchDynamicEventTable( wxEvent& event )
|
||||
while (node)
|
||||
{
|
||||
wxEventTableEntry *entry = (wxEventTableEntry*)node->Data();
|
||||
wxEventType eventType = (wxEventType) entry->m_eventType;
|
||||
|
||||
// wxEventType eventType = (wxEventType) entry->m_eventType;
|
||||
|
||||
if (entry->m_fn)
|
||||
{
|
||||
|
@@ -736,7 +736,11 @@ wxDos2UnixFilename (char *s)
|
||||
}
|
||||
|
||||
void
|
||||
#ifdef __WXMSW__
|
||||
wxUnix2DosFilename (char *s)
|
||||
#else
|
||||
wxUnix2DosFilename (char *WXUNUSED(s))
|
||||
#endif
|
||||
{
|
||||
// Yes, I really mean this to happen under DOS only! JACS
|
||||
#ifdef __WXMSW__
|
||||
@@ -1346,7 +1350,7 @@ void WXDLLEXPORT wxSplitPath(const char *pszFileName,
|
||||
uint nPosDos = pSepDos ? pSepDos - pszFileName : 0;
|
||||
if ( nPosDos > nPosUnix )
|
||||
nPosUnix = nPosDos;
|
||||
uint nLen = Strlen(pszFileName);
|
||||
// uint nLen = Strlen(pszFileName);
|
||||
|
||||
if ( pstrPath )
|
||||
*pstrPath = wxString(pszFileName, nPosUnix);
|
||||
|
@@ -10,7 +10,7 @@
|
||||
|
||||
#include "wx/frame.h"
|
||||
|
||||
void wxFrame::OnIdle(wxIdleEvent& event)
|
||||
void wxFrame::OnIdle(wxIdleEvent& WXUNUSED(event) )
|
||||
{
|
||||
DoMenuUpdates();
|
||||
}
|
||||
|
@@ -210,40 +210,6 @@ wxList::~wxList (void)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef USE_STORABLE_CLASSES
|
||||
wxList::wxList( istream &stream, char *WXUNUSED(data) )
|
||||
{
|
||||
char buf[200];
|
||||
unsigned int num;
|
||||
stream.read( (char*)(&num), sizeof(num) );
|
||||
for (unsigned int i = 0; i < num; i++)
|
||||
{
|
||||
int len;
|
||||
stream.read( (char*)(&len), sizeof(len) );
|
||||
stream.read( (char*)(&buf), len );
|
||||
buf[len] = 0;
|
||||
Append( wxCreateStoredObject( buf, stream, NULL ) );
|
||||
};
|
||||
};
|
||||
|
||||
void wxList::StoreObject( ostream &stream )
|
||||
{
|
||||
unsigned int num = Number();
|
||||
stream.write( (char*)(&num), sizeof(num) );
|
||||
wxNode *node = First();
|
||||
while (node)
|
||||
{
|
||||
wxObject *obj = (wxObject*) node->Data();
|
||||
wxClassInfo *obj_info = obj->GetClassInfo();
|
||||
int len = strlen(obj_info->className);
|
||||
stream.write( (char*)(&len), sizeof(len) );
|
||||
stream.write( obj_info->className, len );
|
||||
obj->StoreObject( stream );
|
||||
node = node->Next();
|
||||
};
|
||||
};
|
||||
#endif
|
||||
|
||||
wxNode *wxList::Append(wxObject *object)
|
||||
{
|
||||
wxNode *node = new wxNode(this, last_node, NULL, object);
|
||||
|
@@ -308,7 +308,7 @@ void wxLog::DoLog(wxLogLevel level, const char *szString)
|
||||
}
|
||||
}
|
||||
|
||||
void wxLog::DoLogString(const char *szString)
|
||||
void wxLog::DoLogString(const char *WXUNUSED(szString))
|
||||
{
|
||||
wxFAIL_MSG("DoLogString must be overrided if it's called.");
|
||||
}
|
||||
@@ -558,19 +558,19 @@ wxLogFrame::wxLogFrame(const char *szTitle)
|
||||
// @@ what about status bar? needed (for menu prompts)?
|
||||
}
|
||||
|
||||
void wxLogFrame::OnClose(wxCommandEvent& event)
|
||||
void wxLogFrame::OnClose(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// just hide the window
|
||||
Show(FALSE);
|
||||
}
|
||||
|
||||
void wxLogFrame::OnCloseWindow(wxCloseEvent& event)
|
||||
void wxLogFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
|
||||
{
|
||||
// just hide the window
|
||||
Show(FALSE);
|
||||
}
|
||||
|
||||
void wxLogFrame::OnSave(wxCommandEvent& event)
|
||||
void wxLogFrame::OnSave(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// get the file name
|
||||
// -----------------
|
||||
@@ -583,9 +583,9 @@ void wxLogFrame::OnSave(wxCommandEvent& event)
|
||||
// open file
|
||||
// ---------
|
||||
wxFile file;
|
||||
bool bOk;
|
||||
bool bOk = FALSE;
|
||||
if ( wxFile::Exists(szFileName) ) {
|
||||
bool bAppend;
|
||||
bool bAppend = FALSE;
|
||||
wxString strMsg;
|
||||
strMsg.Printf(_("Append log to file '%s' "
|
||||
"(choosing [No] will overwrite it)?"), szFileName);
|
||||
@@ -637,7 +637,7 @@ void wxLogFrame::OnSave(wxCommandEvent& event)
|
||||
}
|
||||
}
|
||||
|
||||
void wxLogFrame::OnClear(wxCommandEvent& event)
|
||||
void wxLogFrame::OnClear(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
m_pTextCtrl->Clear();
|
||||
}
|
||||
|
@@ -387,7 +387,7 @@ int wxMemStruct::ValidateNode ()
|
||||
ErrorMsg ("Object already deleted");
|
||||
else {
|
||||
// Can't use the error routines as we have no recognisable object.
|
||||
wxTrace("Can't verify memory struct - all bets are off!\n");
|
||||
// wxTrace("Can't verify memory struct - all bets are off!\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@@ -129,7 +129,8 @@ char* wxDatabase::GetErrorClass(void) {
|
||||
return sqlstate;
|
||||
}
|
||||
|
||||
bool wxDatabase::Open(char *thedatasource, bool exclusive, bool readOnly, char *username, char *password)
|
||||
bool wxDatabase::Open(char *thedatasource, bool WXUNUSED(exclusive),
|
||||
bool WXUNUSED(readOnly), char *username, char *password)
|
||||
{
|
||||
err_occured = FALSE;
|
||||
|
||||
@@ -198,7 +199,7 @@ char *wxDatabase::GetDatabaseName(void)
|
||||
char nameBuf[400];
|
||||
int nameSize = 0;
|
||||
|
||||
retcode = SQLGetInfo(hDBC, SQL_DATABASE_NAME, nameBuf, sizeof(nameBuf), (short *)&nameSize);
|
||||
retcode = SQLGetInfo(hDBC, SQL_DATABASE_NAME, (unsigned char*)nameBuf, sizeof(nameBuf), (short *)&nameSize);
|
||||
|
||||
if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO)
|
||||
return NULL;
|
||||
@@ -230,15 +231,15 @@ bool wxDatabase::InWaitForDataSource(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void wxDatabase::SetLoginTimeout(long seconds)
|
||||
void wxDatabase::SetLoginTimeout(long WXUNUSED(seconds))
|
||||
{
|
||||
}
|
||||
|
||||
void wxDatabase::SetQueryTimeout(long seconds)
|
||||
void wxDatabase::SetQueryTimeout(long WXUNUSED(seconds))
|
||||
{
|
||||
}
|
||||
|
||||
void wxDatabase::SetSynchronousMode(bool synchronous)
|
||||
void wxDatabase::SetSynchronousMode(bool WXUNUSED(synchronous))
|
||||
{
|
||||
}
|
||||
|
||||
@@ -263,11 +264,11 @@ void wxDatabase::Cancel(void)
|
||||
}
|
||||
|
||||
// Overridables
|
||||
void wxDatabase::OnSetOptions(wxRecordSet *recordSet)
|
||||
void wxDatabase::OnSetOptions(wxRecordSet *WXUNUSED(recordSet))
|
||||
{
|
||||
}
|
||||
|
||||
void wxDatabase::OnWaitForDataSource(bool stillExecuting)
|
||||
void wxDatabase::OnWaitForDataSource(bool WXUNUSED(stillExecuting))
|
||||
{
|
||||
}
|
||||
|
||||
@@ -335,7 +336,7 @@ void wxDatabase::ResetRecordSets(void)
|
||||
bool wxDatabase::GetInfo(long infoType, long *buf)
|
||||
{
|
||||
short sz = 0;
|
||||
retcode = SQLGetInfo(hDBC, (UWORD)infoType, (char *)buf, sizeof(buf), &sz);
|
||||
retcode = SQLGetInfo(hDBC, (UWORD)infoType, (unsigned char*)buf, sizeof(buf), &sz);
|
||||
|
||||
if (retcode != SQL_ERROR)
|
||||
return TRUE;
|
||||
@@ -349,7 +350,7 @@ bool wxDatabase::GetInfo(long infoType, char *buf, int bufSize)
|
||||
bufSize = sizeof(buf);
|
||||
|
||||
short sz = 0;
|
||||
retcode = SQLGetInfo(hDBC, (UWORD)infoType, buf, bufSize, &sz);
|
||||
retcode = SQLGetInfo(hDBC, (UWORD)infoType, (unsigned char*)buf, bufSize, &sz);
|
||||
|
||||
if (retcode != SQL_ERROR)
|
||||
return TRUE;
|
||||
@@ -386,7 +387,7 @@ wxString wxDatabase::GetODBCVersionString(bool implementation)
|
||||
int bufSize = sizeof(buf);
|
||||
|
||||
short sz = 0;
|
||||
retcode = SQLGetInfo(hDBC, (UWORD)SQL_ODBC_VER, buf, bufSize, &sz);
|
||||
retcode = SQLGetInfo(hDBC, (UWORD)SQL_ODBC_VER, (unsigned char*)buf, bufSize, &sz);
|
||||
|
||||
if (hDBC != 0 && noDBC)
|
||||
{
|
||||
@@ -427,7 +428,7 @@ float wxDatabase::GetODBCVersionFloat(bool implementation)
|
||||
int bufSize = sizeof(buf);
|
||||
|
||||
short sz = 0;
|
||||
retcode = SQLGetInfo(hDBC, (UWORD)SQL_ODBC_VER, buf, bufSize, &sz);
|
||||
retcode = SQLGetInfo(hDBC, (UWORD)SQL_ODBC_VER, (unsigned char*)buf, bufSize, &sz);
|
||||
|
||||
if (hDBC != 0 && noDBC)
|
||||
{
|
||||
@@ -485,7 +486,7 @@ wxRecordSet::~wxRecordSet(void)
|
||||
}
|
||||
|
||||
// If SQL is non-NULL, table and columns can be NULL.
|
||||
bool wxRecordSet::BeginQuery(int openType, char *sql, int options)
|
||||
bool wxRecordSet::BeginQuery(int WXUNUSED(openType), char *WXUNUSED(sql), int WXUNUSED(options))
|
||||
{
|
||||
// Needs to construct an appropriate SQL statement. By default
|
||||
// (i.e. if table and columns are provided) then
|
||||
@@ -565,7 +566,7 @@ void wxRecordSet::FillVars(int recnum) {
|
||||
|
||||
do {
|
||||
((wxQueryCol*)node->Data())->FillVar(recnum);
|
||||
} while (node = node->Next());
|
||||
} while ((node = node->Next()));
|
||||
}
|
||||
|
||||
bool wxRecordSet::GetResultSet(void)
|
||||
@@ -796,7 +797,7 @@ bool wxRecordSet::GetTables(void)
|
||||
bool wxRecordSet::GetColumns(char* table)
|
||||
{
|
||||
char* name=NULL;
|
||||
char* wildcard = "%";
|
||||
// char* wildcard = "%";
|
||||
|
||||
name = table ? table : tablename;
|
||||
|
||||
@@ -836,7 +837,7 @@ bool wxRecordSet::GetColumns(char* table)
|
||||
bool wxRecordSet::GetPrimaryKeys(char* table)
|
||||
{
|
||||
char* name=NULL;
|
||||
char* wildcard = "%";
|
||||
// char* wildcard = "%";
|
||||
|
||||
name = table ? table : tablename;
|
||||
|
||||
@@ -875,7 +876,7 @@ bool wxRecordSet::GetForeignKeys(char* PkTableName, char * FkTableName)
|
||||
{
|
||||
char* Pkname=NULL;
|
||||
char* Fkname=NULL;
|
||||
char* wildcard = "%";
|
||||
// char* wildcard = "%";
|
||||
|
||||
// Try to disable situation: both PkTableName and FkTableName are NULL
|
||||
// set Pkname from tablename
|
||||
@@ -1371,7 +1372,7 @@ void wxRecordSet::SetFieldDirty(const char* name, bool dirty)
|
||||
((wxQueryCol*)node->Data())->SetFieldDirty(cursor, dirty);
|
||||
}
|
||||
|
||||
void wxRecordSet::SetFieldNull(void *p, bool isNull)
|
||||
void wxRecordSet::SetFieldNull(void *WXUNUSED(p), bool WXUNUSED(isNull))
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1534,7 +1535,7 @@ long wxQueryCol::GetSize(int row) {
|
||||
wxNode* node = fields.Nth(row);
|
||||
|
||||
if (!node)
|
||||
return NULL;
|
||||
return 0;
|
||||
|
||||
return ((wxQueryField*)node->Data())->GetSize();
|
||||
}
|
||||
@@ -1599,7 +1600,7 @@ bool wxQueryField::AllocData(void) {
|
||||
{
|
||||
if (data) // JACS
|
||||
delete[] (char*)data;
|
||||
if (data = new char[size+1])
|
||||
if ((data = new char[size+1]))
|
||||
{
|
||||
char *str = (char *)data;
|
||||
int i;
|
||||
@@ -1613,7 +1614,7 @@ bool wxQueryField::AllocData(void) {
|
||||
{
|
||||
if (data) // JACS
|
||||
delete (long*)data;
|
||||
if (data = new long)
|
||||
if ((data = new long))
|
||||
*(long*)data = 0L;
|
||||
break;
|
||||
}
|
||||
@@ -1621,7 +1622,7 @@ bool wxQueryField::AllocData(void) {
|
||||
{
|
||||
if (data)
|
||||
delete (short*)data;
|
||||
if (data = new short)
|
||||
if ((data = new short))
|
||||
*(short*)data = 0;
|
||||
break;
|
||||
}
|
||||
@@ -1630,7 +1631,7 @@ bool wxQueryField::AllocData(void) {
|
||||
{
|
||||
if (data)
|
||||
delete (double*)data;
|
||||
if (data = new double)
|
||||
if ((data = new double))
|
||||
*(double*)data = 0;
|
||||
break;
|
||||
}
|
||||
@@ -1638,7 +1639,7 @@ bool wxQueryField::AllocData(void) {
|
||||
{
|
||||
if (data)
|
||||
delete (float*)data;
|
||||
if (data = new float)
|
||||
if ((data = new float))
|
||||
*(float*)data = (float)0;
|
||||
break;
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@
|
||||
#include <wx/stream.h>
|
||||
#include <wx/zstream.h>
|
||||
#include <wx/utils.h>
|
||||
#include "zlib.h"
|
||||
#include "../zlib/zlib.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
|
@@ -18,6 +18,7 @@
|
||||
#include "wx/postscrp.h"
|
||||
#include "wx/intl.h"
|
||||
#include "wx/log.h"
|
||||
#include "wx/memory.h"
|
||||
|
||||
#include "unistd.h"
|
||||
|
||||
@@ -285,6 +286,18 @@ int wxEntry( int argc, char *argv[] )
|
||||
|
||||
wxClassInfo::InitializeClasses();
|
||||
|
||||
#if (WXDEBUG && USE_MEMORY_TRACING) || USE_DEBUG_CONTEXT
|
||||
|
||||
#if !defined(_WINDLL)
|
||||
streambuf* sBuf = new wxDebugStreamBuf;
|
||||
#else
|
||||
streambuf* sBuf = NULL;
|
||||
#endif
|
||||
ostream* oStr = new ostream(sBuf) ;
|
||||
wxDebugContext::SetStream(oStr, sBuf);
|
||||
|
||||
#endif
|
||||
|
||||
if (!wxTheApp)
|
||||
{
|
||||
if (!wxApp::GetInitializerFunction())
|
||||
@@ -347,6 +360,20 @@ int wxEntry( int argc, char *argv[] )
|
||||
|
||||
wxApp::CommonCleanUp();
|
||||
|
||||
#if (WXDEBUG && USE_MEMORY_TRACING) || USE_DEBUG_CONTEXT
|
||||
// At this point we want to check if there are any memory
|
||||
// blocks that aren't part of the wxDebugContext itself,
|
||||
// as a special case. Then when dumping we need to ignore
|
||||
// wxDebugContext, too.
|
||||
if (wxDebugContext::CountObjectsLeft() > 0)
|
||||
{
|
||||
wxTrace("There were memory leaks.\n");
|
||||
wxDebugContext::Dump();
|
||||
wxDebugContext::PrintStatistics();
|
||||
}
|
||||
wxDebugContext::SetStream(NULL, NULL);
|
||||
#endif
|
||||
|
||||
return retValue;
|
||||
};
|
||||
|
||||
|
@@ -649,6 +649,46 @@ void wxPaintDC::SetBrush( const wxBrush &brush )
|
||||
};
|
||||
};
|
||||
|
||||
// CMB 21/7/98: Added SetBackground. Sets background brush
|
||||
// for Clear() and bg colour for shapes filled with cross-hatch brush
|
||||
void wxPaintDC::SetBackground( const wxBrush &brush )
|
||||
{
|
||||
if (!Ok()) return;
|
||||
|
||||
if (m_backgroundBrush == brush) return;
|
||||
|
||||
m_backgroundBrush = brush;
|
||||
|
||||
if (!m_backgroundBrush.Ok()) return;
|
||||
|
||||
m_backgroundBrush.GetColour().CalcPixel( m_cmap );
|
||||
gdk_gc_set_background( m_brushGC, m_backgroundBrush.GetColour().GetColor() );
|
||||
gdk_gc_set_foreground( m_bgGC, m_backgroundBrush.GetColour().GetColor() );
|
||||
|
||||
GdkFill fillStyle = GDK_SOLID;
|
||||
switch (m_backgroundBrush.GetStyle())
|
||||
{
|
||||
case wxSOLID:
|
||||
case wxTRANSPARENT:
|
||||
break;
|
||||
default:
|
||||
fillStyle = GDK_STIPPLED;
|
||||
};
|
||||
|
||||
gdk_gc_set_fill( m_bgGC, fillStyle );
|
||||
|
||||
if (m_backgroundBrush.GetStyle() == wxSTIPPLE)
|
||||
{
|
||||
gdk_gc_set_stipple( m_bgGC, m_backgroundBrush.GetStipple()->GetPixmap() );
|
||||
};
|
||||
|
||||
if (IS_HATCH(m_backgroundBrush.GetStyle()))
|
||||
{
|
||||
int num = m_backgroundBrush.GetStyle() - wxBDIAGONAL_HATCH;
|
||||
gdk_gc_set_stipple( m_bgGC, hatches[num] );
|
||||
};
|
||||
};
|
||||
|
||||
void wxPaintDC::SetLogicalFunction( int function )
|
||||
{
|
||||
if (m_logicalFunction == function) return;
|
||||
@@ -693,6 +733,14 @@ void wxPaintDC::SetTextBackground( const wxColour &col )
|
||||
void wxPaintDC::SetBackgroundMode( int mode )
|
||||
{
|
||||
m_backgroundMode = mode;
|
||||
|
||||
// CMB 21/7/98: fill style of cross-hatch brushes is affected by
|
||||
// transparent/solid background mode
|
||||
if (m_brush.GetStyle() != wxSOLID && m_brush.GetStyle() != wxTRANSPARENT)
|
||||
{
|
||||
gdk_gc_set_fill( m_brushGC,
|
||||
(m_backgroundMode == wxTRANSPARENT) ? GDK_STIPPLED : GDK_OPAQUE_STIPPLED);
|
||||
}
|
||||
};
|
||||
|
||||
void wxPaintDC::SetPalette( const wxPalette& WXUNUSED(palette) )
|
||||
|
@@ -77,7 +77,9 @@ wxFrame::wxFrame()
|
||||
m_doingOnSize = FALSE;
|
||||
m_frameMenuBar = NULL;
|
||||
m_frameStatusBar = NULL;
|
||||
m_frameToolBar = NULL;
|
||||
m_sizeSet = FALSE;
|
||||
m_addPrivateChild = FALSE;
|
||||
wxTopLevelWindows.Insert( this );
|
||||
};
|
||||
|
||||
@@ -85,7 +87,12 @@ wxFrame::wxFrame( wxWindow *parent, wxWindowID id, const wxString &title,
|
||||
const wxPoint &pos, const wxSize &size,
|
||||
long style, const wxString &name )
|
||||
{
|
||||
m_doingOnSize = FALSE;
|
||||
m_frameMenuBar = NULL;
|
||||
m_frameStatusBar = NULL;
|
||||
m_frameToolBar = NULL;
|
||||
m_sizeSet = FALSE;
|
||||
m_addPrivateChild = FALSE;
|
||||
Create( parent, id, title, pos, size, style, name );
|
||||
wxTopLevelWindows.Insert( this );
|
||||
};
|
||||
@@ -131,9 +138,6 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
|
||||
|
||||
gtk_container_add( GTK_CONTAINER(m_mainWindow), m_wxwindow );
|
||||
|
||||
m_frameMenuBar = NULL;
|
||||
m_frameStatusBar = NULL;
|
||||
|
||||
gtk_signal_connect( GTK_OBJECT(m_widget), "size_allocate",
|
||||
GTK_SIGNAL_FUNC(gtk_frame_size_callback), (gpointer)this );
|
||||
|
||||
@@ -195,6 +199,12 @@ void wxFrame::GetClientSize( int *width, int *height ) const
|
||||
{
|
||||
if (m_frameMenuBar) (*height) -= wxMENU_HEIGHT;
|
||||
if (m_frameStatusBar) (*height) -= wxSTATUS_HEIGHT;
|
||||
if (m_frameToolBar)
|
||||
{
|
||||
int y = 0;
|
||||
m_frameToolBar->GetSize( NULL, &y );
|
||||
(*height) -= y;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@@ -236,6 +246,12 @@ void wxFrame::GtkOnSize( int x, int y, int width, int height )
|
||||
main_height -= wxMENU_HEIGHT;
|
||||
};
|
||||
|
||||
int toolbar_height = 0;
|
||||
if (m_frameToolBar) m_frameToolBar->GetSize( NULL, &toolbar_height );
|
||||
|
||||
main_y += toolbar_height;
|
||||
main_height -= toolbar_height;
|
||||
|
||||
gtk_widget_set_uposition( GTK_WIDGET(m_wxwindow), main_x, main_y );
|
||||
gtk_widget_set_usize( GTK_WIDGET(m_wxwindow), main_width, main_height );
|
||||
|
||||
@@ -245,6 +261,12 @@ void wxFrame::GtkOnSize( int x, int y, int width, int height )
|
||||
gtk_widget_set_usize( m_frameMenuBar->m_widget, width-2, wxMENU_HEIGHT-2 );
|
||||
};
|
||||
|
||||
if (m_frameToolBar)
|
||||
{
|
||||
gtk_widget_set_uposition( m_frameToolBar->m_widget, 1, wxMENU_HEIGHT );
|
||||
gtk_widget_set_usize( m_frameToolBar->m_widget, width-2, toolbar_height );
|
||||
};
|
||||
|
||||
if (m_frameStatusBar)
|
||||
{
|
||||
m_frameStatusBar->SetSize( 0, main_height-wxSTATUS_HEIGHT, width, wxSTATUS_HEIGHT );
|
||||
@@ -265,7 +287,7 @@ void wxFrame::OnSize( wxSizeEvent &WXUNUSED(event) )
|
||||
// no child: go out !
|
||||
if (!GetChildren()->First())
|
||||
return;
|
||||
|
||||
|
||||
// do we have exactly one child?
|
||||
wxWindow *child = NULL;
|
||||
for(wxNode *node = GetChildren()->First(); node; node = node->Next())
|
||||
@@ -273,8 +295,9 @@ void wxFrame::OnSize( wxSizeEvent &WXUNUSED(event) )
|
||||
wxWindow *win = (wxWindow *)node->Data();
|
||||
if (!win->IsKindOf(CLASSINFO(wxFrame)) &&
|
||||
!win->IsKindOf(CLASSINFO(wxDialog))
|
||||
#if 0 // not in m_children anyway
|
||||
#if 0 // not in m_children anyway
|
||||
&& (win != m_frameMenuBar) &&
|
||||
(win != m_frameToolBar) &&
|
||||
(win != m_frameStatusBar)
|
||||
#endif
|
||||
)
|
||||
@@ -293,6 +316,25 @@ void wxFrame::OnSize( wxSizeEvent &WXUNUSED(event) )
|
||||
}
|
||||
};
|
||||
|
||||
void wxFrame::AddChild( wxWindow *child )
|
||||
{
|
||||
if (m_addPrivateChild)
|
||||
{
|
||||
gtk_myfixed_put( GTK_MYFIXED(m_mainWindow), child->m_widget, child->m_x, child->m_y );
|
||||
|
||||
gtk_widget_set_usize( child->m_widget, child->m_width, child->m_height );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_children.Append( child );
|
||||
|
||||
if (m_wxwindow)
|
||||
gtk_myfixed_put( GTK_MYFIXED(m_wxwindow), child->m_widget, child->m_x, child->m_y );
|
||||
|
||||
gtk_widget_set_usize( child->m_widget, child->m_width, child->m_height );
|
||||
}
|
||||
};
|
||||
|
||||
static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
|
||||
{
|
||||
menu->SetInvokingWindow( win );
|
||||
@@ -329,6 +371,27 @@ void wxFrame::SetMenuBar( wxMenuBar *menuBar )
|
||||
}
|
||||
};
|
||||
|
||||
wxMenuBar *wxFrame::GetMenuBar(void)
|
||||
{
|
||||
return m_frameMenuBar;
|
||||
};
|
||||
|
||||
wxToolBar *wxFrame::CreateToolBar( int style, int WXUNUSED(orientation), int WXUNUSED(rowsOrColumns) )
|
||||
{
|
||||
m_addPrivateChild = TRUE;
|
||||
|
||||
m_frameToolBar = new wxToolBar( this, -1, wxDefaultPosition, wxDefaultSize, style );
|
||||
|
||||
m_addPrivateChild = FALSE;
|
||||
|
||||
return m_frameToolBar;
|
||||
};
|
||||
|
||||
wxToolBar *wxFrame::GetToolBar(void)
|
||||
{
|
||||
return m_frameToolBar;
|
||||
};
|
||||
|
||||
bool wxFrame::CreateStatusBar( int number )
|
||||
{
|
||||
if (m_frameStatusBar)
|
||||
@@ -350,25 +413,20 @@ void wxFrame::SetStatusWidths( int n, int *width )
|
||||
if (m_frameStatusBar) m_frameStatusBar->SetStatusWidths( n, width );
|
||||
};
|
||||
|
||||
wxStatusBar *wxFrame::GetStatusBar()
|
||||
wxStatusBar *wxFrame::GetStatusBar(void)
|
||||
{
|
||||
return m_frameStatusBar;
|
||||
};
|
||||
|
||||
wxMenuBar *wxFrame::GetMenuBar()
|
||||
{
|
||||
return m_frameMenuBar;
|
||||
};
|
||||
|
||||
void wxFrame::SetTitle( const wxString &title )
|
||||
{
|
||||
m_title = title;
|
||||
gtk_window_set_title( GTK_WINDOW(m_widget), title );
|
||||
};
|
||||
|
||||
void wxFrame::SetSizeHints(int minW, int minH, int maxW, int maxH, int incW)
|
||||
void wxFrame::SetSizeHints(int minW, int minH, int maxW, int maxH, int WXUNUSED(incW) )
|
||||
{
|
||||
// VZ: I don't know a way to set the max size for the window in GTK and have
|
||||
// no idea about what incW might be
|
||||
gtk_widget_set_usize(m_widget, minW, minH);
|
||||
if (m_wxwindow)
|
||||
gdk_window_set_hints( m_wxwindow->window, -1, -1,
|
||||
minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
|
||||
}
|
||||
|
@@ -69,7 +69,6 @@ wxMDIParentFrame::wxMDIParentFrame(void)
|
||||
m_clientWindow = NULL;
|
||||
m_currentChild = NULL;
|
||||
m_parentFrameActive = TRUE;
|
||||
m_toolBar = NULL;
|
||||
};
|
||||
|
||||
wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
|
||||
@@ -80,7 +79,6 @@ wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
|
||||
m_clientWindow = NULL;
|
||||
m_currentChild = NULL;
|
||||
m_parentFrameActive = TRUE;
|
||||
m_toolBar = NULL;
|
||||
Create( parent, id, title, pos, size, style, name );
|
||||
};
|
||||
|
||||
@@ -132,16 +130,6 @@ void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
|
||||
wxFrame::GetClientSize( width, height );
|
||||
};
|
||||
|
||||
void wxMDIParentFrame::SetToolBar( wxToolBar *toolbar )
|
||||
{
|
||||
m_toolBar = toolbar;
|
||||
};
|
||||
|
||||
wxWindow *wxMDIParentFrame::GetToolBar(void) const
|
||||
{
|
||||
return m_toolBar;
|
||||
};
|
||||
|
||||
wxMDIChildFrame *wxMDIParentFrame::GetActiveChild(void) const
|
||||
{
|
||||
return m_currentChild;
|
||||
@@ -250,7 +238,8 @@ static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
|
||||
while (node)
|
||||
{
|
||||
wxMenuItem *menuitem = (wxMenuItem*)node->Data();
|
||||
if (menuitem->GetSubMenu()) SetInvokingWindow( menuitem->GetSubMenu(), win );
|
||||
if (menuitem->IsSubMenu())
|
||||
SetInvokingWindow( menuitem->GetSubMenu(), win );
|
||||
node = node->Next();
|
||||
};
|
||||
};
|
||||
@@ -346,7 +335,7 @@ void wxMDIClientWindow::AddChild( wxWindow *child )
|
||||
|
||||
gtk_signal_connect( GTK_OBJECT(child->m_widget), "size_allocate",
|
||||
GTK_SIGNAL_FUNC(gtk_page_size_callback), (gpointer)child );
|
||||
|
||||
|
||||
gtk_notebook_append_page( GTK_NOTEBOOK(m_widget), child->m_widget, label_widget );
|
||||
|
||||
mdi_child->m_page = (GtkNotebookPage*) (g_list_last(GTK_NOTEBOOK(m_widget)->children)->data);
|
||||
|
@@ -106,9 +106,17 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
|
||||
|
||||
bool wxToolBar::OnLeftClick( int toolIndex, bool toggleDown )
|
||||
{
|
||||
wxCommandEvent event( wxEVENT_TYPE_MENU_COMMAND, toolIndex );
|
||||
event.SetEventObject( this );
|
||||
event.SetInt( toolIndex );
|
||||
event.SetExtraLong( (long) toggleDown);
|
||||
|
||||
/*
|
||||
wxCommandEvent event(wxEVT_COMMAND_TOOL_CLICKED, toolIndex);
|
||||
event.SetEventObject(this);
|
||||
event.SetInt( toolIndex );
|
||||
event.SetExtraLong((long) toggleDown);
|
||||
*/
|
||||
|
||||
GetEventHandler()->ProcessEvent(event);
|
||||
|
||||
@@ -117,8 +125,9 @@ bool wxToolBar::OnLeftClick( int toolIndex, bool toggleDown )
|
||||
|
||||
void wxToolBar::OnRightClick( int toolIndex, float WXUNUSED(x), float WXUNUSED(y) )
|
||||
{
|
||||
wxCommandEvent event(wxEVT_COMMAND_TOOL_RCLICKED, toolIndex);
|
||||
event.SetEventObject(this);
|
||||
wxCommandEvent event( wxEVENT_TYPE_MENU_COMMAND, toolIndex );
|
||||
event.SetEventObject( this );
|
||||
event.SetInt( toolIndex );
|
||||
|
||||
GetEventHandler()->ProcessEvent(event);
|
||||
};
|
||||
@@ -127,6 +136,7 @@ void wxToolBar::OnMouseEnter( int toolIndex )
|
||||
{
|
||||
wxCommandEvent event(wxEVT_COMMAND_TOOL_ENTER, toolIndex);
|
||||
event.SetEventObject(this);
|
||||
event.SetInt( toolIndex );
|
||||
|
||||
GetEventHandler()->ProcessEvent(event);
|
||||
};
|
||||
@@ -169,6 +179,29 @@ void wxToolBar::ClearTools(void)
|
||||
{
|
||||
};
|
||||
|
||||
void wxToolBar::Layout(void)
|
||||
{
|
||||
m_x = 0;
|
||||
m_y = 0;
|
||||
m_width = 100;
|
||||
m_height = 0;
|
||||
|
||||
wxNode *node = m_tools.First();
|
||||
while (node)
|
||||
{
|
||||
wxToolBarTool *tool = (wxToolBarTool*)node->Data();
|
||||
if (tool->m_bitmap1.Ok())
|
||||
{
|
||||
int tool_height = tool->m_bitmap1.GetHeight();
|
||||
if (tool_height > m_height) m_height = tool_height;
|
||||
};
|
||||
|
||||
node = node->Next();
|
||||
};
|
||||
|
||||
m_height += 10;
|
||||
};
|
||||
|
||||
void wxToolBar::EnableTool(int toolIndex, bool enable)
|
||||
{
|
||||
};
|
||||
|
@@ -308,7 +308,7 @@ void wxTextCtrl::OnChar( wxKeyEvent &WXUNUSED(event) )
|
||||
{
|
||||
};
|
||||
|
||||
int wxTextCtrl::overflow(int c)
|
||||
int wxTextCtrl::overflow( int WXUNUSED(c) )
|
||||
{
|
||||
int len = pptr() - pbase();
|
||||
char *txt = new char[len+1];
|
||||
|
@@ -1417,7 +1417,6 @@ void wxWindow::SetFocus(void)
|
||||
|
||||
bool wxWindow::OnClose(void)
|
||||
{
|
||||
printf( "OnClose event.\n" );
|
||||
return TRUE;
|
||||
};
|
||||
|
||||
@@ -1431,6 +1430,21 @@ void wxWindow::AddChild( wxWindow *child )
|
||||
// for wxFrame, wxDialog, wxWindow and
|
||||
// wxMDIParentFrame.
|
||||
|
||||
// wxFrame and wxDialog as children aren't placed into the parents
|
||||
|
||||
if (child->IsKindOf(CLASSINFO(wxFrame)) || child->IsKindOf(CLASSINFO(wxDialog)))
|
||||
{
|
||||
m_children.Append( child );
|
||||
|
||||
if ((child->m_x != -1) && (child->m_y != -1))
|
||||
gtk_widget_set_uposition( child->m_widget, child->m_x, child->m_y );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// In the case of an wxMDIChildFrame descendant, we use the
|
||||
// client windows's AddChild()
|
||||
|
||||
if (IsKindOf(CLASSINFO(wxMDIParentFrame)))
|
||||
{
|
||||
if (child->IsKindOf(CLASSINFO(wxMDIChildFrame)))
|
||||
@@ -1440,30 +1454,32 @@ void wxWindow::AddChild( wxWindow *child )
|
||||
{
|
||||
client->AddChild( child );
|
||||
return;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// wxNotebooks are very special, so they have their own AddChild
|
||||
// wxNotebook is very special, so it has a private AddChild()
|
||||
|
||||
if (IsKindOf(CLASSINFO(wxNotebook)))
|
||||
{
|
||||
wxNotebook *tab = (wxNotebook*)this;
|
||||
tab->AddChild( child );
|
||||
return;
|
||||
};
|
||||
}
|
||||
|
||||
// wxFrame has a private AddChild
|
||||
|
||||
if (IsKindOf(CLASSINFO(wxFrame)))
|
||||
{
|
||||
wxFrame *frame = (wxFrame*)this;
|
||||
frame->AddChild( child );
|
||||
return;
|
||||
}
|
||||
|
||||
// All the rest
|
||||
|
||||
m_children.Append( child );
|
||||
if (child->IsKindOf(CLASSINFO(wxFrame)) || child->IsKindOf(CLASSINFO(wxDialog)))
|
||||
{
|
||||
if ((child->m_x != -1) && (child->m_y != -1))
|
||||
gtk_widget_set_uposition( child->m_widget, child->m_x, child->m_y );
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_wxwindow)
|
||||
gtk_myfixed_put( GTK_MYFIXED(m_wxwindow), child->m_widget, child->m_x, child->m_y );
|
||||
};
|
||||
if (m_wxwindow) gtk_myfixed_put( GTK_MYFIXED(m_wxwindow), child->m_widget, child->m_x, child->m_y );
|
||||
gtk_widget_set_usize( child->m_widget, child->m_width, child->m_height );
|
||||
};
|
||||
|
||||
|
@@ -18,6 +18,7 @@
|
||||
#include "wx/postscrp.h"
|
||||
#include "wx/intl.h"
|
||||
#include "wx/log.h"
|
||||
#include "wx/memory.h"
|
||||
|
||||
#include "unistd.h"
|
||||
|
||||
@@ -285,6 +286,18 @@ int wxEntry( int argc, char *argv[] )
|
||||
|
||||
wxClassInfo::InitializeClasses();
|
||||
|
||||
#if (WXDEBUG && USE_MEMORY_TRACING) || USE_DEBUG_CONTEXT
|
||||
|
||||
#if !defined(_WINDLL)
|
||||
streambuf* sBuf = new wxDebugStreamBuf;
|
||||
#else
|
||||
streambuf* sBuf = NULL;
|
||||
#endif
|
||||
ostream* oStr = new ostream(sBuf) ;
|
||||
wxDebugContext::SetStream(oStr, sBuf);
|
||||
|
||||
#endif
|
||||
|
||||
if (!wxTheApp)
|
||||
{
|
||||
if (!wxApp::GetInitializerFunction())
|
||||
@@ -347,6 +360,20 @@ int wxEntry( int argc, char *argv[] )
|
||||
|
||||
wxApp::CommonCleanUp();
|
||||
|
||||
#if (WXDEBUG && USE_MEMORY_TRACING) || USE_DEBUG_CONTEXT
|
||||
// At this point we want to check if there are any memory
|
||||
// blocks that aren't part of the wxDebugContext itself,
|
||||
// as a special case. Then when dumping we need to ignore
|
||||
// wxDebugContext, too.
|
||||
if (wxDebugContext::CountObjectsLeft() > 0)
|
||||
{
|
||||
wxTrace("There were memory leaks.\n");
|
||||
wxDebugContext::Dump();
|
||||
wxDebugContext::PrintStatistics();
|
||||
}
|
||||
wxDebugContext::SetStream(NULL, NULL);
|
||||
#endif
|
||||
|
||||
return retValue;
|
||||
};
|
||||
|
||||
|
@@ -649,6 +649,46 @@ void wxPaintDC::SetBrush( const wxBrush &brush )
|
||||
};
|
||||
};
|
||||
|
||||
// CMB 21/7/98: Added SetBackground. Sets background brush
|
||||
// for Clear() and bg colour for shapes filled with cross-hatch brush
|
||||
void wxPaintDC::SetBackground( const wxBrush &brush )
|
||||
{
|
||||
if (!Ok()) return;
|
||||
|
||||
if (m_backgroundBrush == brush) return;
|
||||
|
||||
m_backgroundBrush = brush;
|
||||
|
||||
if (!m_backgroundBrush.Ok()) return;
|
||||
|
||||
m_backgroundBrush.GetColour().CalcPixel( m_cmap );
|
||||
gdk_gc_set_background( m_brushGC, m_backgroundBrush.GetColour().GetColor() );
|
||||
gdk_gc_set_foreground( m_bgGC, m_backgroundBrush.GetColour().GetColor() );
|
||||
|
||||
GdkFill fillStyle = GDK_SOLID;
|
||||
switch (m_backgroundBrush.GetStyle())
|
||||
{
|
||||
case wxSOLID:
|
||||
case wxTRANSPARENT:
|
||||
break;
|
||||
default:
|
||||
fillStyle = GDK_STIPPLED;
|
||||
};
|
||||
|
||||
gdk_gc_set_fill( m_bgGC, fillStyle );
|
||||
|
||||
if (m_backgroundBrush.GetStyle() == wxSTIPPLE)
|
||||
{
|
||||
gdk_gc_set_stipple( m_bgGC, m_backgroundBrush.GetStipple()->GetPixmap() );
|
||||
};
|
||||
|
||||
if (IS_HATCH(m_backgroundBrush.GetStyle()))
|
||||
{
|
||||
int num = m_backgroundBrush.GetStyle() - wxBDIAGONAL_HATCH;
|
||||
gdk_gc_set_stipple( m_bgGC, hatches[num] );
|
||||
};
|
||||
};
|
||||
|
||||
void wxPaintDC::SetLogicalFunction( int function )
|
||||
{
|
||||
if (m_logicalFunction == function) return;
|
||||
@@ -693,6 +733,14 @@ void wxPaintDC::SetTextBackground( const wxColour &col )
|
||||
void wxPaintDC::SetBackgroundMode( int mode )
|
||||
{
|
||||
m_backgroundMode = mode;
|
||||
|
||||
// CMB 21/7/98: fill style of cross-hatch brushes is affected by
|
||||
// transparent/solid background mode
|
||||
if (m_brush.GetStyle() != wxSOLID && m_brush.GetStyle() != wxTRANSPARENT)
|
||||
{
|
||||
gdk_gc_set_fill( m_brushGC,
|
||||
(m_backgroundMode == wxTRANSPARENT) ? GDK_STIPPLED : GDK_OPAQUE_STIPPLED);
|
||||
}
|
||||
};
|
||||
|
||||
void wxPaintDC::SetPalette( const wxPalette& WXUNUSED(palette) )
|
||||
|
@@ -77,7 +77,9 @@ wxFrame::wxFrame()
|
||||
m_doingOnSize = FALSE;
|
||||
m_frameMenuBar = NULL;
|
||||
m_frameStatusBar = NULL;
|
||||
m_frameToolBar = NULL;
|
||||
m_sizeSet = FALSE;
|
||||
m_addPrivateChild = FALSE;
|
||||
wxTopLevelWindows.Insert( this );
|
||||
};
|
||||
|
||||
@@ -85,7 +87,12 @@ wxFrame::wxFrame( wxWindow *parent, wxWindowID id, const wxString &title,
|
||||
const wxPoint &pos, const wxSize &size,
|
||||
long style, const wxString &name )
|
||||
{
|
||||
m_doingOnSize = FALSE;
|
||||
m_frameMenuBar = NULL;
|
||||
m_frameStatusBar = NULL;
|
||||
m_frameToolBar = NULL;
|
||||
m_sizeSet = FALSE;
|
||||
m_addPrivateChild = FALSE;
|
||||
Create( parent, id, title, pos, size, style, name );
|
||||
wxTopLevelWindows.Insert( this );
|
||||
};
|
||||
@@ -131,9 +138,6 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
|
||||
|
||||
gtk_container_add( GTK_CONTAINER(m_mainWindow), m_wxwindow );
|
||||
|
||||
m_frameMenuBar = NULL;
|
||||
m_frameStatusBar = NULL;
|
||||
|
||||
gtk_signal_connect( GTK_OBJECT(m_widget), "size_allocate",
|
||||
GTK_SIGNAL_FUNC(gtk_frame_size_callback), (gpointer)this );
|
||||
|
||||
@@ -195,6 +199,12 @@ void wxFrame::GetClientSize( int *width, int *height ) const
|
||||
{
|
||||
if (m_frameMenuBar) (*height) -= wxMENU_HEIGHT;
|
||||
if (m_frameStatusBar) (*height) -= wxSTATUS_HEIGHT;
|
||||
if (m_frameToolBar)
|
||||
{
|
||||
int y = 0;
|
||||
m_frameToolBar->GetSize( NULL, &y );
|
||||
(*height) -= y;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@@ -236,6 +246,12 @@ void wxFrame::GtkOnSize( int x, int y, int width, int height )
|
||||
main_height -= wxMENU_HEIGHT;
|
||||
};
|
||||
|
||||
int toolbar_height = 0;
|
||||
if (m_frameToolBar) m_frameToolBar->GetSize( NULL, &toolbar_height );
|
||||
|
||||
main_y += toolbar_height;
|
||||
main_height -= toolbar_height;
|
||||
|
||||
gtk_widget_set_uposition( GTK_WIDGET(m_wxwindow), main_x, main_y );
|
||||
gtk_widget_set_usize( GTK_WIDGET(m_wxwindow), main_width, main_height );
|
||||
|
||||
@@ -245,6 +261,12 @@ void wxFrame::GtkOnSize( int x, int y, int width, int height )
|
||||
gtk_widget_set_usize( m_frameMenuBar->m_widget, width-2, wxMENU_HEIGHT-2 );
|
||||
};
|
||||
|
||||
if (m_frameToolBar)
|
||||
{
|
||||
gtk_widget_set_uposition( m_frameToolBar->m_widget, 1, wxMENU_HEIGHT );
|
||||
gtk_widget_set_usize( m_frameToolBar->m_widget, width-2, toolbar_height );
|
||||
};
|
||||
|
||||
if (m_frameStatusBar)
|
||||
{
|
||||
m_frameStatusBar->SetSize( 0, main_height-wxSTATUS_HEIGHT, width, wxSTATUS_HEIGHT );
|
||||
@@ -265,7 +287,7 @@ void wxFrame::OnSize( wxSizeEvent &WXUNUSED(event) )
|
||||
// no child: go out !
|
||||
if (!GetChildren()->First())
|
||||
return;
|
||||
|
||||
|
||||
// do we have exactly one child?
|
||||
wxWindow *child = NULL;
|
||||
for(wxNode *node = GetChildren()->First(); node; node = node->Next())
|
||||
@@ -273,8 +295,9 @@ void wxFrame::OnSize( wxSizeEvent &WXUNUSED(event) )
|
||||
wxWindow *win = (wxWindow *)node->Data();
|
||||
if (!win->IsKindOf(CLASSINFO(wxFrame)) &&
|
||||
!win->IsKindOf(CLASSINFO(wxDialog))
|
||||
#if 0 // not in m_children anyway
|
||||
#if 0 // not in m_children anyway
|
||||
&& (win != m_frameMenuBar) &&
|
||||
(win != m_frameToolBar) &&
|
||||
(win != m_frameStatusBar)
|
||||
#endif
|
||||
)
|
||||
@@ -293,6 +316,25 @@ void wxFrame::OnSize( wxSizeEvent &WXUNUSED(event) )
|
||||
}
|
||||
};
|
||||
|
||||
void wxFrame::AddChild( wxWindow *child )
|
||||
{
|
||||
if (m_addPrivateChild)
|
||||
{
|
||||
gtk_myfixed_put( GTK_MYFIXED(m_mainWindow), child->m_widget, child->m_x, child->m_y );
|
||||
|
||||
gtk_widget_set_usize( child->m_widget, child->m_width, child->m_height );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_children.Append( child );
|
||||
|
||||
if (m_wxwindow)
|
||||
gtk_myfixed_put( GTK_MYFIXED(m_wxwindow), child->m_widget, child->m_x, child->m_y );
|
||||
|
||||
gtk_widget_set_usize( child->m_widget, child->m_width, child->m_height );
|
||||
}
|
||||
};
|
||||
|
||||
static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
|
||||
{
|
||||
menu->SetInvokingWindow( win );
|
||||
@@ -329,6 +371,27 @@ void wxFrame::SetMenuBar( wxMenuBar *menuBar )
|
||||
}
|
||||
};
|
||||
|
||||
wxMenuBar *wxFrame::GetMenuBar(void)
|
||||
{
|
||||
return m_frameMenuBar;
|
||||
};
|
||||
|
||||
wxToolBar *wxFrame::CreateToolBar( int style, int WXUNUSED(orientation), int WXUNUSED(rowsOrColumns) )
|
||||
{
|
||||
m_addPrivateChild = TRUE;
|
||||
|
||||
m_frameToolBar = new wxToolBar( this, -1, wxDefaultPosition, wxDefaultSize, style );
|
||||
|
||||
m_addPrivateChild = FALSE;
|
||||
|
||||
return m_frameToolBar;
|
||||
};
|
||||
|
||||
wxToolBar *wxFrame::GetToolBar(void)
|
||||
{
|
||||
return m_frameToolBar;
|
||||
};
|
||||
|
||||
bool wxFrame::CreateStatusBar( int number )
|
||||
{
|
||||
if (m_frameStatusBar)
|
||||
@@ -350,25 +413,20 @@ void wxFrame::SetStatusWidths( int n, int *width )
|
||||
if (m_frameStatusBar) m_frameStatusBar->SetStatusWidths( n, width );
|
||||
};
|
||||
|
||||
wxStatusBar *wxFrame::GetStatusBar()
|
||||
wxStatusBar *wxFrame::GetStatusBar(void)
|
||||
{
|
||||
return m_frameStatusBar;
|
||||
};
|
||||
|
||||
wxMenuBar *wxFrame::GetMenuBar()
|
||||
{
|
||||
return m_frameMenuBar;
|
||||
};
|
||||
|
||||
void wxFrame::SetTitle( const wxString &title )
|
||||
{
|
||||
m_title = title;
|
||||
gtk_window_set_title( GTK_WINDOW(m_widget), title );
|
||||
};
|
||||
|
||||
void wxFrame::SetSizeHints(int minW, int minH, int maxW, int maxH, int incW)
|
||||
void wxFrame::SetSizeHints(int minW, int minH, int maxW, int maxH, int WXUNUSED(incW) )
|
||||
{
|
||||
// VZ: I don't know a way to set the max size for the window in GTK and have
|
||||
// no idea about what incW might be
|
||||
gtk_widget_set_usize(m_widget, minW, minH);
|
||||
if (m_wxwindow)
|
||||
gdk_window_set_hints( m_wxwindow->window, -1, -1,
|
||||
minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
|
||||
}
|
||||
|
@@ -69,7 +69,6 @@ wxMDIParentFrame::wxMDIParentFrame(void)
|
||||
m_clientWindow = NULL;
|
||||
m_currentChild = NULL;
|
||||
m_parentFrameActive = TRUE;
|
||||
m_toolBar = NULL;
|
||||
};
|
||||
|
||||
wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
|
||||
@@ -80,7 +79,6 @@ wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
|
||||
m_clientWindow = NULL;
|
||||
m_currentChild = NULL;
|
||||
m_parentFrameActive = TRUE;
|
||||
m_toolBar = NULL;
|
||||
Create( parent, id, title, pos, size, style, name );
|
||||
};
|
||||
|
||||
@@ -132,16 +130,6 @@ void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
|
||||
wxFrame::GetClientSize( width, height );
|
||||
};
|
||||
|
||||
void wxMDIParentFrame::SetToolBar( wxToolBar *toolbar )
|
||||
{
|
||||
m_toolBar = toolbar;
|
||||
};
|
||||
|
||||
wxWindow *wxMDIParentFrame::GetToolBar(void) const
|
||||
{
|
||||
return m_toolBar;
|
||||
};
|
||||
|
||||
wxMDIChildFrame *wxMDIParentFrame::GetActiveChild(void) const
|
||||
{
|
||||
return m_currentChild;
|
||||
@@ -250,7 +238,8 @@ static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
|
||||
while (node)
|
||||
{
|
||||
wxMenuItem *menuitem = (wxMenuItem*)node->Data();
|
||||
if (menuitem->GetSubMenu()) SetInvokingWindow( menuitem->GetSubMenu(), win );
|
||||
if (menuitem->IsSubMenu())
|
||||
SetInvokingWindow( menuitem->GetSubMenu(), win );
|
||||
node = node->Next();
|
||||
};
|
||||
};
|
||||
@@ -346,7 +335,7 @@ void wxMDIClientWindow::AddChild( wxWindow *child )
|
||||
|
||||
gtk_signal_connect( GTK_OBJECT(child->m_widget), "size_allocate",
|
||||
GTK_SIGNAL_FUNC(gtk_page_size_callback), (gpointer)child );
|
||||
|
||||
|
||||
gtk_notebook_append_page( GTK_NOTEBOOK(m_widget), child->m_widget, label_widget );
|
||||
|
||||
mdi_child->m_page = (GtkNotebookPage*) (g_list_last(GTK_NOTEBOOK(m_widget)->children)->data);
|
||||
|
@@ -106,9 +106,17 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
|
||||
|
||||
bool wxToolBar::OnLeftClick( int toolIndex, bool toggleDown )
|
||||
{
|
||||
wxCommandEvent event( wxEVENT_TYPE_MENU_COMMAND, toolIndex );
|
||||
event.SetEventObject( this );
|
||||
event.SetInt( toolIndex );
|
||||
event.SetExtraLong( (long) toggleDown);
|
||||
|
||||
/*
|
||||
wxCommandEvent event(wxEVT_COMMAND_TOOL_CLICKED, toolIndex);
|
||||
event.SetEventObject(this);
|
||||
event.SetInt( toolIndex );
|
||||
event.SetExtraLong((long) toggleDown);
|
||||
*/
|
||||
|
||||
GetEventHandler()->ProcessEvent(event);
|
||||
|
||||
@@ -117,8 +125,9 @@ bool wxToolBar::OnLeftClick( int toolIndex, bool toggleDown )
|
||||
|
||||
void wxToolBar::OnRightClick( int toolIndex, float WXUNUSED(x), float WXUNUSED(y) )
|
||||
{
|
||||
wxCommandEvent event(wxEVT_COMMAND_TOOL_RCLICKED, toolIndex);
|
||||
event.SetEventObject(this);
|
||||
wxCommandEvent event( wxEVENT_TYPE_MENU_COMMAND, toolIndex );
|
||||
event.SetEventObject( this );
|
||||
event.SetInt( toolIndex );
|
||||
|
||||
GetEventHandler()->ProcessEvent(event);
|
||||
};
|
||||
@@ -127,6 +136,7 @@ void wxToolBar::OnMouseEnter( int toolIndex )
|
||||
{
|
||||
wxCommandEvent event(wxEVT_COMMAND_TOOL_ENTER, toolIndex);
|
||||
event.SetEventObject(this);
|
||||
event.SetInt( toolIndex );
|
||||
|
||||
GetEventHandler()->ProcessEvent(event);
|
||||
};
|
||||
@@ -169,6 +179,29 @@ void wxToolBar::ClearTools(void)
|
||||
{
|
||||
};
|
||||
|
||||
void wxToolBar::Layout(void)
|
||||
{
|
||||
m_x = 0;
|
||||
m_y = 0;
|
||||
m_width = 100;
|
||||
m_height = 0;
|
||||
|
||||
wxNode *node = m_tools.First();
|
||||
while (node)
|
||||
{
|
||||
wxToolBarTool *tool = (wxToolBarTool*)node->Data();
|
||||
if (tool->m_bitmap1.Ok())
|
||||
{
|
||||
int tool_height = tool->m_bitmap1.GetHeight();
|
||||
if (tool_height > m_height) m_height = tool_height;
|
||||
};
|
||||
|
||||
node = node->Next();
|
||||
};
|
||||
|
||||
m_height += 10;
|
||||
};
|
||||
|
||||
void wxToolBar::EnableTool(int toolIndex, bool enable)
|
||||
{
|
||||
};
|
||||
|
@@ -308,7 +308,7 @@ void wxTextCtrl::OnChar( wxKeyEvent &WXUNUSED(event) )
|
||||
{
|
||||
};
|
||||
|
||||
int wxTextCtrl::overflow(int c)
|
||||
int wxTextCtrl::overflow( int WXUNUSED(c) )
|
||||
{
|
||||
int len = pptr() - pbase();
|
||||
char *txt = new char[len+1];
|
||||
|
@@ -1417,7 +1417,6 @@ void wxWindow::SetFocus(void)
|
||||
|
||||
bool wxWindow::OnClose(void)
|
||||
{
|
||||
printf( "OnClose event.\n" );
|
||||
return TRUE;
|
||||
};
|
||||
|
||||
@@ -1431,6 +1430,21 @@ void wxWindow::AddChild( wxWindow *child )
|
||||
// for wxFrame, wxDialog, wxWindow and
|
||||
// wxMDIParentFrame.
|
||||
|
||||
// wxFrame and wxDialog as children aren't placed into the parents
|
||||
|
||||
if (child->IsKindOf(CLASSINFO(wxFrame)) || child->IsKindOf(CLASSINFO(wxDialog)))
|
||||
{
|
||||
m_children.Append( child );
|
||||
|
||||
if ((child->m_x != -1) && (child->m_y != -1))
|
||||
gtk_widget_set_uposition( child->m_widget, child->m_x, child->m_y );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// In the case of an wxMDIChildFrame descendant, we use the
|
||||
// client windows's AddChild()
|
||||
|
||||
if (IsKindOf(CLASSINFO(wxMDIParentFrame)))
|
||||
{
|
||||
if (child->IsKindOf(CLASSINFO(wxMDIChildFrame)))
|
||||
@@ -1440,30 +1454,32 @@ void wxWindow::AddChild( wxWindow *child )
|
||||
{
|
||||
client->AddChild( child );
|
||||
return;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// wxNotebooks are very special, so they have their own AddChild
|
||||
// wxNotebook is very special, so it has a private AddChild()
|
||||
|
||||
if (IsKindOf(CLASSINFO(wxNotebook)))
|
||||
{
|
||||
wxNotebook *tab = (wxNotebook*)this;
|
||||
tab->AddChild( child );
|
||||
return;
|
||||
};
|
||||
}
|
||||
|
||||
// wxFrame has a private AddChild
|
||||
|
||||
if (IsKindOf(CLASSINFO(wxFrame)))
|
||||
{
|
||||
wxFrame *frame = (wxFrame*)this;
|
||||
frame->AddChild( child );
|
||||
return;
|
||||
}
|
||||
|
||||
// All the rest
|
||||
|
||||
m_children.Append( child );
|
||||
if (child->IsKindOf(CLASSINFO(wxFrame)) || child->IsKindOf(CLASSINFO(wxDialog)))
|
||||
{
|
||||
if ((child->m_x != -1) && (child->m_y != -1))
|
||||
gtk_widget_set_uposition( child->m_widget, child->m_x, child->m_y );
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_wxwindow)
|
||||
gtk_myfixed_put( GTK_MYFIXED(m_wxwindow), child->m_widget, child->m_x, child->m_y );
|
||||
};
|
||||
if (m_wxwindow) gtk_myfixed_put( GTK_MYFIXED(m_wxwindow), child->m_widget, child->m_x, child->m_y );
|
||||
gtk_widget_set_usize( child->m_widget, child->m_width, child->m_height );
|
||||
};
|
||||
|
||||
|
@@ -1,7 +1,9 @@
|
||||
#ifndef _LINUX_CONFIG_H
|
||||
#define _LINUX_CONFIG_H
|
||||
|
||||
#ifdef __LINUX__
|
||||
#include <linux/autoconf.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Defines for what uname() should return
|
||||
|
Reference in New Issue
Block a user