See last changelog

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1998-08-15 10:52:09 +00:00
parent 942be9a749
commit c33c405087
28 changed files with 382 additions and 150 deletions

View File

@@ -552,22 +552,25 @@ void wxPaintDC::DrawText( const wxString &text, long x, long y, bool WXUNUSED(us
}
}
bool wxPaintDC::CanGetTextExtent(void) const
{
return TRUE;
}
void wxPaintDC::GetTextExtent( const wxString &string, long *width, long *height,
long *WXUNUSED(descent), long *WXUNUSED(externalLeading),
wxFont *WXUNUSED(theFont), bool WXUNUSED(use16) )
long *descent, long *externalLeading,
wxFont *theFont, bool WXUNUSED(use16) )
{
if (!Ok()) return;
GdkFont *font = m_font.GetInternalFont( m_scaleY );
wxFont fontToUse = m_font;
if (theFont) fontToUse = *theFont;
GdkFont *font = fontToUse.GetInternalFont( m_scaleY );
if (width) (*width) = long(gdk_string_width( font, string ) / m_scaleX);
if (height) (*height) = long((font->ascent + font->descent) / m_scaleY);
if (descent) (*descent) = long(font->descent / m_scaleY);
if (externalLeading) (*externalLeading) = 0; // ??
}
long wxPaintDC::GetCharWidth(void)
@@ -575,7 +578,7 @@ long wxPaintDC::GetCharWidth(void)
if (!Ok()) return 0;
GdkFont *font = m_font.GetInternalFont( m_scaleY );
return gdk_string_width( font, "H" );
return long(gdk_string_width( font, "H" ) / m_scaleX);
}
long wxPaintDC::GetCharHeight(void)
@@ -583,7 +586,7 @@ long wxPaintDC::GetCharHeight(void)
if (!Ok()) return 0;
GdkFont *font = m_font.GetInternalFont( m_scaleY );
return font->ascent + font->descent;
return long((font->ascent + font->descent) / m_scaleY);
}
void wxPaintDC::Clear(void)

View File

@@ -36,7 +36,7 @@ bool gtk_dialog_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED
win->Close();
return TRUE;
};
}
//-----------------------------------------------------------------------------
// wxDialog
@@ -56,7 +56,7 @@ wxDialog::wxDialog(void)
m_title = "";
m_modalShowing = FALSE;
wxTopLevelWindows.Insert( this );
};
}
wxDialog::wxDialog( wxWindow *parent,
wxWindowID id, const wxString &title,
@@ -66,7 +66,7 @@ wxDialog::wxDialog( wxWindow *parent,
m_modalShowing = FALSE;
wxTopLevelWindows.Insert( this );
Create( parent, id, title, pos, size, style, name );
};
}
bool wxDialog::Create( wxWindow *parent,
wxWindowID id, const wxString &title,
@@ -101,30 +101,30 @@ bool wxDialog::Create( wxWindow *parent,
PostCreation();
return TRUE;
};
}
wxDialog::~wxDialog(void)
{
wxTopLevelWindows.DeleteObject( this );
if (wxTopLevelWindows.Number() == 0) wxTheApp->ExitMainLoop();
};
}
void wxDialog::SetTitle(const wxString& title )
{
m_title = title;
if (m_title.IsNull()) m_title = "";
gtk_window_set_title( GTK_WINDOW(m_widget), m_title );
};
}
wxString wxDialog::GetTitle(void) const
{
return (wxString&)m_title;
};
}
void wxDialog::OnApply( wxCommandEvent &WXUNUSED(event) )
{
if (Validate()) TransferDataFromWindow();
};
}
void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
{
@@ -136,8 +136,8 @@ void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
{
SetReturnCode(wxID_CANCEL);
this->Show(FALSE);
};
};
}
}
void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
{
@@ -151,14 +151,14 @@ void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
{
SetReturnCode(wxID_OK);
this->Show(FALSE);
};
};
};
}
}
}
void wxDialog::OnPaint( wxPaintEvent& WXUNUSED(event) )
{
// yes
};
}
bool wxDialog::OnClose(void)
{
@@ -189,8 +189,8 @@ void wxDialog::OnCloseWindow(wxCloseEvent& event)
if (GetEventHandler()->OnClose() || event.GetForce())
{
this->Destroy();
};
};
}
}
void wxDialog::ImplementSetPosition(void)
{
@@ -210,14 +210,22 @@ bool wxDialog::Show( bool show )
if (!show && IsModal() && m_modalShowing)
{
EndModal( wxID_CANCEL );
};
}
wxWindow::Show( show );
if (show) InitDialog();
return TRUE;
};
}
void wxDialog::SetModal(bool flag)
{
if (flag)
m_windowStyle |= wxDIALOG_MODAL;
else
if (m_windowStyle & wxDIALOG_MODAL) m_windowStyle -= wxDIALOG_MODAL;
}
int wxDialog::ShowModal(void)
{
@@ -232,7 +240,7 @@ int wxDialog::ShowModal(void)
gtk_grab_remove( m_widget );
return GetReturnCode();
};
}
void wxDialog::EndModal( int retCode )
{
@@ -242,15 +250,34 @@ void wxDialog::EndModal( int retCode )
{
wxFAIL_MSG( "wxDialog: called EndModal twice" );
return;
};
}
m_modalShowing = FALSE;
gtk_main_quit();
};
}
void wxDialog::InitDialog(void)
{
wxWindow::InitDialog();
};
}
void wxDialog::SetSizeHints(int minW, int minH, int maxW, int maxH, int WXUNUSED(incW) )
{
gdk_window_set_hints( m_widget->window, -1, -1,
minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
}
void wxDialog::SetIcon( const wxIcon &icon )
{
m_icon = icon;
if (!icon.Ok()) return;
wxMask *mask = icon.GetMask();
GdkBitmap *bm = NULL;
if (mask) bm = mask->GetBitmap();
gdk_window_set_icon( m_widget->window, NULL, icon.GetPixmap(), bm );
}

View File

@@ -255,7 +255,7 @@ static GdkFont *wxLoadQueryNearestFont(int point_size, int fontid,
int style, int weight,
bool underlined);
GdkFont *wxFont::GetInternalFont(float scale)
GdkFont *wxFont::GetInternalFont(float scale) const
{
if (M_FONTDATA->m_byXFontName) return M_FONTDATA->m_font;

View File

@@ -515,9 +515,8 @@ void wxFrame::SetTitle( const wxString &title )
void wxFrame::SetSizeHints(int minW, int minH, int maxW, int maxH, int WXUNUSED(incW) )
{
if (m_wxwindow)
gdk_window_set_hints( m_wxwindow->window, -1, -1,
minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
gdk_window_set_hints( m_widget->window, -1, -1,
minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
}
void wxFrame::SetIcon( const wxIcon &icon )

View File

@@ -254,7 +254,7 @@ void wxMenu::Append( int id, const wxString &item, const wxString &helpStr, bool
wxMenuItem *mitem = new wxMenuItem();
mitem->SetId(id);
mitem->SetText(item);
mitem->SetHelpString(helpStr);
mitem->SetHelp(helpStr);
mitem->SetCheckable(checkable);
const char *text = mitem->GetText();
GtkWidget *menuItem = checkable ? gtk_check_menu_item_new_with_label(text)
@@ -277,7 +277,7 @@ void wxMenu::Append( int id, const wxString &text, wxMenu *subMenu, const wxStri
mitem->SetText(text);
GtkWidget *menuItem = gtk_menu_item_new_with_label(mitem->GetText());
mitem->SetHelpString(helpStr);
mitem->SetHelp(helpStr);
mitem->SetMenuItem(menuItem);
mitem->SetSubMenu(subMenu);
@@ -344,10 +344,30 @@ bool wxMenu::IsChecked( int id ) const
void wxMenu::SetLabel( int id, const wxString &label )
{
wxMenuItem *item = FindItem(id);
if ( item )
if (item)
item->SetText(label);
}
wxString wxMenu::GetLabel( int id ) const
{
wxMenuItem *item = FindItem(id);
if (item) return item->GetText();
return "";
}
void wxMenu::SetHelpString( int id, const wxString& helpString )
{
wxMenuItem *item = FindItem(id);
if (item) item->SetHelp( helpString );
}
wxString wxMenu::GetHelpString( int id ) const
{
wxMenuItem *item = FindItem(id);
if (item) return item->GetHelp();
return "";
}
int wxMenu::FindMenuIdByMenuItem( GtkWidget *menuItem ) const
{
wxNode *node = m_items.First();

View File

@@ -1393,6 +1393,31 @@ void wxWindow::Enable( bool enable )
if (m_wxwindow) gtk_widget_set_sensitive( m_wxwindow, enable );
}
int wxWindow::GetCharHeight(void) const
{
GdkFont *font = m_font.GetInternalFont( 1.0 );
return font->ascent + font->descent;
}
int wxWindow::GetCharWidth(void) const
{
GdkFont *font = m_font.GetInternalFont( 1.0 );
return gdk_string_width( font, "H" );
}
void wxWindow::GetTextExtent( const wxString& string, int *x, int *y,
int *descent, int *externalLeading, const wxFont *theFont, bool WXUNUSED(use16) ) const
{
wxFont fontToUse = m_font;
if (theFont) fontToUse = *theFont;
GdkFont *font = fontToUse.GetInternalFont( 1.0 );
if (x) (*y) = gdk_string_width( font, string );
if (y) (*y) = font->ascent + font->descent;
if (descent) (*descent) = font->descent;
if (externalLeading) (*externalLeading) = 0; // ??
}
void wxWindow::MakeModal( bool modal )
{
return;
@@ -1516,11 +1541,6 @@ int wxWindow::GetReturnCode(void)
return m_retCode;
}
wxWindow *wxWindow::GetParent(void)
{
return m_parent;
}
void wxWindow::Raise(void)
{
if (m_widget) gdk_window_raise( m_widget->window );

View File

@@ -552,22 +552,25 @@ void wxPaintDC::DrawText( const wxString &text, long x, long y, bool WXUNUSED(us
}
}
bool wxPaintDC::CanGetTextExtent(void) const
{
return TRUE;
}
void wxPaintDC::GetTextExtent( const wxString &string, long *width, long *height,
long *WXUNUSED(descent), long *WXUNUSED(externalLeading),
wxFont *WXUNUSED(theFont), bool WXUNUSED(use16) )
long *descent, long *externalLeading,
wxFont *theFont, bool WXUNUSED(use16) )
{
if (!Ok()) return;
GdkFont *font = m_font.GetInternalFont( m_scaleY );
wxFont fontToUse = m_font;
if (theFont) fontToUse = *theFont;
GdkFont *font = fontToUse.GetInternalFont( m_scaleY );
if (width) (*width) = long(gdk_string_width( font, string ) / m_scaleX);
if (height) (*height) = long((font->ascent + font->descent) / m_scaleY);
if (descent) (*descent) = long(font->descent / m_scaleY);
if (externalLeading) (*externalLeading) = 0; // ??
}
long wxPaintDC::GetCharWidth(void)
@@ -575,7 +578,7 @@ long wxPaintDC::GetCharWidth(void)
if (!Ok()) return 0;
GdkFont *font = m_font.GetInternalFont( m_scaleY );
return gdk_string_width( font, "H" );
return long(gdk_string_width( font, "H" ) / m_scaleX);
}
long wxPaintDC::GetCharHeight(void)
@@ -583,7 +586,7 @@ long wxPaintDC::GetCharHeight(void)
if (!Ok()) return 0;
GdkFont *font = m_font.GetInternalFont( m_scaleY );
return font->ascent + font->descent;
return long((font->ascent + font->descent) / m_scaleY);
}
void wxPaintDC::Clear(void)

View File

@@ -36,7 +36,7 @@ bool gtk_dialog_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED
win->Close();
return TRUE;
};
}
//-----------------------------------------------------------------------------
// wxDialog
@@ -56,7 +56,7 @@ wxDialog::wxDialog(void)
m_title = "";
m_modalShowing = FALSE;
wxTopLevelWindows.Insert( this );
};
}
wxDialog::wxDialog( wxWindow *parent,
wxWindowID id, const wxString &title,
@@ -66,7 +66,7 @@ wxDialog::wxDialog( wxWindow *parent,
m_modalShowing = FALSE;
wxTopLevelWindows.Insert( this );
Create( parent, id, title, pos, size, style, name );
};
}
bool wxDialog::Create( wxWindow *parent,
wxWindowID id, const wxString &title,
@@ -101,30 +101,30 @@ bool wxDialog::Create( wxWindow *parent,
PostCreation();
return TRUE;
};
}
wxDialog::~wxDialog(void)
{
wxTopLevelWindows.DeleteObject( this );
if (wxTopLevelWindows.Number() == 0) wxTheApp->ExitMainLoop();
};
}
void wxDialog::SetTitle(const wxString& title )
{
m_title = title;
if (m_title.IsNull()) m_title = "";
gtk_window_set_title( GTK_WINDOW(m_widget), m_title );
};
}
wxString wxDialog::GetTitle(void) const
{
return (wxString&)m_title;
};
}
void wxDialog::OnApply( wxCommandEvent &WXUNUSED(event) )
{
if (Validate()) TransferDataFromWindow();
};
}
void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
{
@@ -136,8 +136,8 @@ void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
{
SetReturnCode(wxID_CANCEL);
this->Show(FALSE);
};
};
}
}
void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
{
@@ -151,14 +151,14 @@ void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
{
SetReturnCode(wxID_OK);
this->Show(FALSE);
};
};
};
}
}
}
void wxDialog::OnPaint( wxPaintEvent& WXUNUSED(event) )
{
// yes
};
}
bool wxDialog::OnClose(void)
{
@@ -189,8 +189,8 @@ void wxDialog::OnCloseWindow(wxCloseEvent& event)
if (GetEventHandler()->OnClose() || event.GetForce())
{
this->Destroy();
};
};
}
}
void wxDialog::ImplementSetPosition(void)
{
@@ -210,14 +210,22 @@ bool wxDialog::Show( bool show )
if (!show && IsModal() && m_modalShowing)
{
EndModal( wxID_CANCEL );
};
}
wxWindow::Show( show );
if (show) InitDialog();
return TRUE;
};
}
void wxDialog::SetModal(bool flag)
{
if (flag)
m_windowStyle |= wxDIALOG_MODAL;
else
if (m_windowStyle & wxDIALOG_MODAL) m_windowStyle -= wxDIALOG_MODAL;
}
int wxDialog::ShowModal(void)
{
@@ -232,7 +240,7 @@ int wxDialog::ShowModal(void)
gtk_grab_remove( m_widget );
return GetReturnCode();
};
}
void wxDialog::EndModal( int retCode )
{
@@ -242,15 +250,34 @@ void wxDialog::EndModal( int retCode )
{
wxFAIL_MSG( "wxDialog: called EndModal twice" );
return;
};
}
m_modalShowing = FALSE;
gtk_main_quit();
};
}
void wxDialog::InitDialog(void)
{
wxWindow::InitDialog();
};
}
void wxDialog::SetSizeHints(int minW, int minH, int maxW, int maxH, int WXUNUSED(incW) )
{
gdk_window_set_hints( m_widget->window, -1, -1,
minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
}
void wxDialog::SetIcon( const wxIcon &icon )
{
m_icon = icon;
if (!icon.Ok()) return;
wxMask *mask = icon.GetMask();
GdkBitmap *bm = NULL;
if (mask) bm = mask->GetBitmap();
gdk_window_set_icon( m_widget->window, NULL, icon.GetPixmap(), bm );
}

View File

@@ -255,7 +255,7 @@ static GdkFont *wxLoadQueryNearestFont(int point_size, int fontid,
int style, int weight,
bool underlined);
GdkFont *wxFont::GetInternalFont(float scale)
GdkFont *wxFont::GetInternalFont(float scale) const
{
if (M_FONTDATA->m_byXFontName) return M_FONTDATA->m_font;

View File

@@ -515,9 +515,8 @@ void wxFrame::SetTitle( const wxString &title )
void wxFrame::SetSizeHints(int minW, int minH, int maxW, int maxH, int WXUNUSED(incW) )
{
if (m_wxwindow)
gdk_window_set_hints( m_wxwindow->window, -1, -1,
minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
gdk_window_set_hints( m_widget->window, -1, -1,
minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
}
void wxFrame::SetIcon( const wxIcon &icon )

View File

@@ -254,7 +254,7 @@ void wxMenu::Append( int id, const wxString &item, const wxString &helpStr, bool
wxMenuItem *mitem = new wxMenuItem();
mitem->SetId(id);
mitem->SetText(item);
mitem->SetHelpString(helpStr);
mitem->SetHelp(helpStr);
mitem->SetCheckable(checkable);
const char *text = mitem->GetText();
GtkWidget *menuItem = checkable ? gtk_check_menu_item_new_with_label(text)
@@ -277,7 +277,7 @@ void wxMenu::Append( int id, const wxString &text, wxMenu *subMenu, const wxStri
mitem->SetText(text);
GtkWidget *menuItem = gtk_menu_item_new_with_label(mitem->GetText());
mitem->SetHelpString(helpStr);
mitem->SetHelp(helpStr);
mitem->SetMenuItem(menuItem);
mitem->SetSubMenu(subMenu);
@@ -344,10 +344,30 @@ bool wxMenu::IsChecked( int id ) const
void wxMenu::SetLabel( int id, const wxString &label )
{
wxMenuItem *item = FindItem(id);
if ( item )
if (item)
item->SetText(label);
}
wxString wxMenu::GetLabel( int id ) const
{
wxMenuItem *item = FindItem(id);
if (item) return item->GetText();
return "";
}
void wxMenu::SetHelpString( int id, const wxString& helpString )
{
wxMenuItem *item = FindItem(id);
if (item) item->SetHelp( helpString );
}
wxString wxMenu::GetHelpString( int id ) const
{
wxMenuItem *item = FindItem(id);
if (item) return item->GetHelp();
return "";
}
int wxMenu::FindMenuIdByMenuItem( GtkWidget *menuItem ) const
{
wxNode *node = m_items.First();

View File

@@ -1393,6 +1393,31 @@ void wxWindow::Enable( bool enable )
if (m_wxwindow) gtk_widget_set_sensitive( m_wxwindow, enable );
}
int wxWindow::GetCharHeight(void) const
{
GdkFont *font = m_font.GetInternalFont( 1.0 );
return font->ascent + font->descent;
}
int wxWindow::GetCharWidth(void) const
{
GdkFont *font = m_font.GetInternalFont( 1.0 );
return gdk_string_width( font, "H" );
}
void wxWindow::GetTextExtent( const wxString& string, int *x, int *y,
int *descent, int *externalLeading, const wxFont *theFont, bool WXUNUSED(use16) ) const
{
wxFont fontToUse = m_font;
if (theFont) fontToUse = *theFont;
GdkFont *font = fontToUse.GetInternalFont( 1.0 );
if (x) (*y) = gdk_string_width( font, string );
if (y) (*y) = font->ascent + font->descent;
if (descent) (*descent) = font->descent;
if (externalLeading) (*externalLeading) = 0; // ??
}
void wxWindow::MakeModal( bool modal )
{
return;
@@ -1516,11 +1541,6 @@ int wxWindow::GetReturnCode(void)
return m_retCode;
}
wxWindow *wxWindow::GetParent(void)
{
return m_parent;
}
void wxWindow::Raise(void)
{
if (m_widget) gdk_window_raise( m_widget->window );