Added new wxFontDialog,

Added PICFLAGS to parser compilation,
  Implemented COL_CLICK and wxLC_NO_HEADER


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1999-08-24 20:26:06 +00:00
parent 799a341cc3
commit 8636aed896
20 changed files with 519 additions and 392 deletions

View File

@@ -875,22 +875,37 @@ void wxListHeaderWindow::OnMouse( wxMouseEvent &event )
for (int j = 0; j < m_owner->GetColumnCount(); j++)
{
xpos += m_owner->GetColumnWidth( j );
m_column = j;
if ((abs(x-xpos) < 3) && (y < 22))
{
hit_border = TRUE;
m_column = j;
break;
}
if (x-xpos < 0)
{
break;
}
m_minX = xpos;
}
if (event.LeftDown() && hit_border)
if (event.LeftDown())
{
m_isDragging = TRUE;
m_currentX = x;
DrawCurrent();
CaptureMouse();
return;
if (hit_border)
{
m_isDragging = TRUE;
m_currentX = x;
DrawCurrent();
CaptureMouse();
return;
}
else
{
wxListEvent le( wxEVT_COMMAND_LIST_COL_CLICK, GetParent()->GetId() );
le.SetEventObject( GetParent() );
le.m_col = m_column;
GetParent()->GetEventHandler()->ProcessEvent( le );
return;
}
}
if (event.Moving())
@@ -2570,16 +2585,21 @@ void wxListCtrl::SetWindowStyleFlag( long flag )
{
m_headerWin = new wxListHeaderWindow( this, -1, m_mainWin,
wxPoint(0,0), wxSize(width,23), wxTAB_TRAVERSAL );
if (HasFlag(wxLC_NO_HEADER))
m_headerWin->Show( FALSE );
}
else
{
m_headerWin->Show( TRUE );
if (flag & wxLC_NO_HEADER)
m_headerWin->Show( FALSE );
else
m_headerWin->Show( TRUE );
}
}
}
else
{
if (HasFlag(wxLC_REPORT))
if (HasFlag(wxLC_REPORT) && !(HasFlag(wxLC_NO_HEADER)))
{
m_headerWin->Show( FALSE );
}
@@ -2943,7 +2963,7 @@ void wxListCtrl::OnIdle( wxIdleEvent &WXUNUSED(event) )
int w = 0;
int h = 0;
if (HasFlag(wxLC_REPORT))
if (HasFlag(wxLC_REPORT) && !HasFlag(wxLC_NO_HEADER))
{
m_headerWin->GetPosition( &x, &y );
m_headerWin->GetSize( &w, &h );

View File

@@ -15,6 +15,7 @@
#include "wx/utils.h"
#include "wx/log.h"
#include "wx/gdicmn.h"
#include "wx/tokenzr.h"
#include <strings.h>
#include "gdk/gdk.h"
@@ -99,14 +100,49 @@ wxFont::wxFont()
if (wxTheFontList) wxTheFontList->Append( this );
}
wxFont::wxFont( char *xFontName )
wxFont::wxFont( GdkFont *font, char *xFontName )
{
if (!xFontName) return;
m_refData = new wxFontRefData();
M_FONTDATA->m_byXFontName = TRUE;
M_FONTDATA->m_font = gdk_font_load( xFontName );
// M_FONTDATA->m_byXFontName = TRUE;
M_FONTDATA->m_font = font;
wxString tmp;
wxString fontname( xFontName );
wxStringTokenizer tn( fontname, _T("-") );
tn.GetNextToken(); // foundry
M_FONTDATA->m_faceName = tn.GetNextToken(); // courier
tmp = tn.GetNextToken().MakeUpper();
if (tmp == _T("BOLD")) M_FONTDATA->m_weight = wxBOLD;
tmp = tn.GetNextToken().MakeUpper();
if (tmp == _T("I")) M_FONTDATA->m_style = wxITALIC;
if (tmp == _T("O")) M_FONTDATA->m_style = wxITALIC;
tn.GetNextToken(); // set width
tn.GetNextToken(); // ?
tn.GetNextToken(); // pixel size
tmp = tn.GetNextToken(); // pointsize
int num = wxStrtol (tmp.c_str(), (wxChar **) NULL, 10);
M_FONTDATA->m_pointSize = num / 10;
tn.GetNextToken(); // x-res
tn.GetNextToken(); // y-res
tmp = tn.GetNextToken().MakeUpper();
if (tmp == _T("M")) M_FONTDATA->m_family = wxMODERN;
else if (M_FONTDATA->m_faceName == _T("TIMES")) M_FONTDATA->m_family = wxROMAN;
else if (M_FONTDATA->m_faceName == _T("HELVETICA")) M_FONTDATA->m_family = wxSWISS;
else if (M_FONTDATA->m_faceName == _T("LUCIDATYPEWRITER")) M_FONTDATA->m_family = wxTELETYPE;
else if (M_FONTDATA->m_faceName == _T("LUCIDA")) M_FONTDATA->m_family = wxDECORATIVE;
else if (M_FONTDATA->m_faceName == _T("UTOPIA")) M_FONTDATA->m_family = wxSCRIPT;
}
wxFont::wxFont( int pointSize, int family, int style, int weight, bool underlined, const wxString& face )

View File

@@ -15,6 +15,7 @@
#include "wx/utils.h"
#include "wx/log.h"
#include "wx/gdicmn.h"
#include "wx/tokenzr.h"
#include <strings.h>
#include "gdk/gdk.h"
@@ -99,14 +100,49 @@ wxFont::wxFont()
if (wxTheFontList) wxTheFontList->Append( this );
}
wxFont::wxFont( char *xFontName )
wxFont::wxFont( GdkFont *font, char *xFontName )
{
if (!xFontName) return;
m_refData = new wxFontRefData();
M_FONTDATA->m_byXFontName = TRUE;
M_FONTDATA->m_font = gdk_font_load( xFontName );
// M_FONTDATA->m_byXFontName = TRUE;
M_FONTDATA->m_font = font;
wxString tmp;
wxString fontname( xFontName );
wxStringTokenizer tn( fontname, _T("-") );
tn.GetNextToken(); // foundry
M_FONTDATA->m_faceName = tn.GetNextToken(); // courier
tmp = tn.GetNextToken().MakeUpper();
if (tmp == _T("BOLD")) M_FONTDATA->m_weight = wxBOLD;
tmp = tn.GetNextToken().MakeUpper();
if (tmp == _T("I")) M_FONTDATA->m_style = wxITALIC;
if (tmp == _T("O")) M_FONTDATA->m_style = wxITALIC;
tn.GetNextToken(); // set width
tn.GetNextToken(); // ?
tn.GetNextToken(); // pixel size
tmp = tn.GetNextToken(); // pointsize
int num = wxStrtol (tmp.c_str(), (wxChar **) NULL, 10);
M_FONTDATA->m_pointSize = num / 10;
tn.GetNextToken(); // x-res
tn.GetNextToken(); // y-res
tmp = tn.GetNextToken().MakeUpper();
if (tmp == _T("M")) M_FONTDATA->m_family = wxMODERN;
else if (M_FONTDATA->m_faceName == _T("TIMES")) M_FONTDATA->m_family = wxROMAN;
else if (M_FONTDATA->m_faceName == _T("HELVETICA")) M_FONTDATA->m_family = wxSWISS;
else if (M_FONTDATA->m_faceName == _T("LUCIDATYPEWRITER")) M_FONTDATA->m_family = wxTELETYPE;
else if (M_FONTDATA->m_faceName == _T("LUCIDA")) M_FONTDATA->m_family = wxDECORATIVE;
else if (M_FONTDATA->m_faceName == _T("UTOPIA")) M_FONTDATA->m_family = wxSCRIPT;
}
wxFont::wxFont( int pointSize, int family, int style, int weight, bool underlined, const wxString& face )