Removed Vadim's surplus code in clipboard.

wxTreeCtrl now creates its two font in the constructor.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 1999-11-09 14:48:41 +00:00
parent dcda1c71b1
commit eff869aad2
5 changed files with 43 additions and 93 deletions

View File

@ -479,6 +479,9 @@ protected:
friend class wxTreeRenameTimer;
friend class wxTreeTextCtrl;
wxFont m_normalFont;
wxFont m_boldFont;
wxGenericTreeItem *m_anchor;
wxGenericTreeItem *m_current, *m_key_current, *m_currentEdit;
bool m_hasFocus;

View File

@ -547,6 +547,11 @@ void MyPanel::DoPasteFromClipboard()
void MyPanel::DoCopyToClipboard()
{
// On X11, we want to get the data from the primary selection instead
// of the normal clipboard (which isn't normal under X11 at all). This
// call has no effect under MSW.
wxTheClipboard->UsePrimarySelection();
wxString text( m_multitext->GetLineText(0) );
if (text.IsEmpty())

View File

@ -523,6 +523,13 @@ void wxTreeCtrl::Init()
m_dragCount = 0;
m_renameTimer = new wxTreeRenameTimer( this );
m_normalFont = wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT );
m_boldFont = wxFont( m_normalFont.GetPointSize(),
m_normalFont.GetFamily(),
m_normalFont.GetStyle(),
wxBOLD,
m_normalFont.GetUnderlined());
}
bool wxTreeCtrl::Create(wxWindow *parent, wxWindowID id,
@ -1406,28 +1413,8 @@ int wxTreeCtrl::GetLineHeight(wxGenericTreeItem *item) const
void wxTreeCtrl::PaintItem(wxGenericTreeItem *item, wxDC& dc)
{
// render bold items in bold
wxFont fontOld;
wxFont fontNew;
if (item->IsBold())
{
fontOld = dc.GetFont();
if (fontOld.Ok())
{
// VZ: is there any better way to make a bold variant of old font?
fontNew = wxFont( fontOld.GetPointSize(),
fontOld.GetFamily(),
fontOld.GetStyle(),
wxBOLD,
fontOld.GetUnderlined());
dc.SetFont(fontNew);
}
else
{
wxFAIL_MSG(wxT("wxDC::GetFont() failed!"));
}
}
dc.SetFont(m_boldFont);
long text_w = 0;
long text_h = 0;
@ -1460,11 +1447,8 @@ void wxTreeCtrl::PaintItem(wxGenericTreeItem *item, wxDC& dc)
dc.DrawText( item->GetText(), image_w + item->GetX(), item->GetY()
+ ((total_h > text_h) ? (total_h - text_h)/2 : 0));
// restore normal font for bold items
if (fontOld.Ok())
{
dc.SetFont( fontOld);
}
// restore normal font
dc.SetFont( m_normalFont );
}
// Now y stands for the top of the item, whereas it used to stand for middle !
@ -1612,9 +1596,10 @@ void wxTreeCtrl::OnPaint( wxPaintEvent &WXUNUSED(event) )
wxPaintDC dc(this);
PrepareDC( dc );
dc.SetFont( wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT ) );
dc.SetFont( m_normalFont );
dc.SetPen( m_dottedPen );
// this is now done dynamically
//if(GetImageList() == NULL)
// m_lineHeight = (int)(dc.GetCharHeight() + 4);
@ -2011,33 +1996,14 @@ void wxTreeCtrl::CalculateSize( wxGenericTreeItem *item, wxDC &dc )
long text_w = 0;
long text_h = 0;
wxFont fontOld;
wxFont fontNew;
if (item->IsBold())
{
fontOld = dc.GetFont();
if (fontOld.Ok())
{
// VZ: is there any better way to make a bold variant of old font?
fontNew = wxFont( fontOld.GetPointSize(),
fontOld.GetFamily(),
fontOld.GetStyle(),
wxBOLD,
fontOld.GetUnderlined());
dc.SetFont(fontNew);
}
else
{
wxFAIL_MSG(wxT("wxDC::GetFont() failed!"));
}
}
dc.SetFont(m_boldFont);
dc.GetTextExtent( item->GetText(), &text_w, &text_h );
text_h+=2;
// restore normal font for bold items
if (fontOld.Ok())
dc.SetFont( fontOld);
// restore normal font
dc.SetFont( m_normalFont );
int image_h = 0;
int image_w = 0;
@ -2092,7 +2058,7 @@ void wxTreeCtrl::CalculatePositions()
wxClientDC dc(this);
PrepareDC( dc );
dc.SetFont( wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT ) );
dc.SetFont( m_normalFont );
dc.SetPen( m_dottedPen );
//if(GetImageList() == NULL)

View File

@ -79,31 +79,17 @@ targets_selection_received( GtkWidget *WXUNUSED(widget),
if ( wxTheClipboard && selection_data->length > 0 )
{
/* make sure we got the data in the correct form */
// VZ: I don't know what does this mean (and GTK+ authors apparently
// don't know either, Owen Taylor writes that "Motif seems to ask
// for TARGETS atom sometimes" (??)), but it seems that xterm
// (which is not a Motif app AFAIK) does this too, so it's
// absolutely essential to support this, otherwise we can't paste
// text from xterm!
GdkAtom type = selection_data->type;
if ( type != GDK_SELECTION_TYPE_ATOM )
{
if ( strcmp(gdk_atom_name(type), "TARGETS") != 0 )
{
// don't know what this is
clipboard->m_waiting = FALSE;
return;
}
//else: don't know what this is, but it seems to work in the same
// way as GDK_SELECTION_TYPE_ATOM does
clipboard->m_waiting = FALSE;
return;
}
//else: the data is the list of formats supported by the selection
/*
/*
wxDataFormat clip( selection_data->selection );
wxLogDebug( wxT("selection received for targets, clipboard %s"), clip.GetId().c_str() );
*/
*/
// the atoms we received, holding a list of targets (= formats)
GdkAtom *atoms = (GdkAtom *)selection_data->data;
@ -112,9 +98,9 @@ targets_selection_received( GtkWidget *WXUNUSED(widget),
{
wxDataFormat format( atoms[i] );
/*
/*
wxLogDebug( wxT("selection received for targets, format %s"), format.GetId().c_str() );
*/
*/
if (format == clipboard->m_targetRequested)
{
@ -484,11 +470,13 @@ bool wxClipboard::IsOpened() const
bool wxClipboard::IsSupported( const wxDataFormat& format )
{
/* reentrance problems */
if (m_open) return TRUE;
if (m_waiting) return FALSE;
/* store requested format to be asked for by callbacks */
m_targetRequested = format;
wxLogDebug( wxT("wxClipboard:IsSupported: requested format: %s"), format.GetId().c_str() );
wxCHECK_MSG( m_targetRequested, FALSE, wxT("invalid clipboard format") );
m_formatSupported = FALSE;

View File

@ -79,31 +79,17 @@ targets_selection_received( GtkWidget *WXUNUSED(widget),
if ( wxTheClipboard && selection_data->length > 0 )
{
/* make sure we got the data in the correct form */
// VZ: I don't know what does this mean (and GTK+ authors apparently
// don't know either, Owen Taylor writes that "Motif seems to ask
// for TARGETS atom sometimes" (??)), but it seems that xterm
// (which is not a Motif app AFAIK) does this too, so it's
// absolutely essential to support this, otherwise we can't paste
// text from xterm!
GdkAtom type = selection_data->type;
if ( type != GDK_SELECTION_TYPE_ATOM )
{
if ( strcmp(gdk_atom_name(type), "TARGETS") != 0 )
{
// don't know what this is
clipboard->m_waiting = FALSE;
return;
}
//else: don't know what this is, but it seems to work in the same
// way as GDK_SELECTION_TYPE_ATOM does
clipboard->m_waiting = FALSE;
return;
}
//else: the data is the list of formats supported by the selection
/*
/*
wxDataFormat clip( selection_data->selection );
wxLogDebug( wxT("selection received for targets, clipboard %s"), clip.GetId().c_str() );
*/
*/
// the atoms we received, holding a list of targets (= formats)
GdkAtom *atoms = (GdkAtom *)selection_data->data;
@ -112,9 +98,9 @@ targets_selection_received( GtkWidget *WXUNUSED(widget),
{
wxDataFormat format( atoms[i] );
/*
/*
wxLogDebug( wxT("selection received for targets, format %s"), format.GetId().c_str() );
*/
*/
if (format == clipboard->m_targetRequested)
{
@ -484,11 +470,13 @@ bool wxClipboard::IsOpened() const
bool wxClipboard::IsSupported( const wxDataFormat& format )
{
/* reentrance problems */
if (m_open) return TRUE;
if (m_waiting) return FALSE;
/* store requested format to be asked for by callbacks */
m_targetRequested = format;
wxLogDebug( wxT("wxClipboard:IsSupported: requested format: %s"), format.GetId().c_str() );
wxCHECK_MSG( m_targetRequested, FALSE, wxT("invalid clipboard format") );
m_formatSupported = FALSE;