X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/01dba85a7fc9a1103f866c7c3a5cc72f21c0784e..43c42c18d36c703a88b1b7b697bac27fe5608eca:/src/msw/fontdlg.cpp diff --git a/src/msw/fontdlg.cpp b/src/msw/fontdlg.cpp index 972f0e4534..848dd4f514 100644 --- a/src/msw/fontdlg.cpp +++ b/src/msw/fontdlg.cpp @@ -1,11 +1,11 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: fontdlg.cpp +// Name: src/msw/fontdlg.cpp // Purpose: wxFontDialog class // Author: Julian Smart // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem +// Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "fontdlg.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -28,23 +24,19 @@ #pragma hdrstop #endif -#ifndef WX_PRECOMP - #include "wx/defs.h" - #include "wx/utils.h" - #include "wx/dialog.h" -#endif +#if wxUSE_FONTDLG #include "wx/fontdlg.h" +#include "wx/testing.h" -#if !defined(__WIN32__) || defined(__SALFORDC__) || defined(__WXWINE__) - #include +#ifndef WX_PRECOMP + #include "wx/msw/wrapcdlg.h" + #include "wx/utils.h" + #include "wx/dialog.h" + #include "wx/log.h" + #include "wx/math.h" #endif -#include "wx/msw/private.h" -#include "wx/cmndata.h" -#include "wx/log.h" - -#include #include #include @@ -52,9 +44,7 @@ // wxWin macros // ---------------------------------------------------------------------------- -#if !USE_SHARED_LIBRARY - IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog) -#endif +IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog) // ============================================================================ // implementation @@ -64,30 +54,12 @@ // wxFontDialog // ---------------------------------------------------------------------------- -wxFontDialog::wxFontDialog() -{ - m_parent = NULL; -} - -wxFontDialog::wxFontDialog(wxWindow *parent, wxFontData *data) -{ - Create(parent, data); -} - -bool wxFontDialog::Create(wxWindow *parent, wxFontData *data) -{ - m_parent = parent; - - wxCHECK_MSG( data, FALSE, _T("no font data in wxFontDialog") ); - - m_fontData = *data; - - return TRUE; -} - int wxFontDialog::ShowModal() { - DWORD flags = CF_SCREENFONTS | CF_NOSIMULATIONS; + WX_TESTING_SHOW_MODAL_HOOK(); + + // It should be OK to always use GDI simulations + DWORD flags = CF_SCREENFONTS /* | CF_NOSIMULATIONS */ ; LOGFONT logFont; @@ -99,23 +71,22 @@ int wxFontDialog::ShowModal() chooseFontStruct.hwndOwner = GetHwndOf(m_parent); chooseFontStruct.lpLogFont = &logFont; - if ( m_fontData.initialFont.Ok() ) + if ( m_fontData.m_initialFont.IsOk() ) { flags |= CF_INITTOLOGFONTSTRUCT; - wxFillLogFont(&logFont, &m_fontData.initialFont); + wxFillLogFont(&logFont, &m_fontData.m_initialFont); } - chooseFontStruct.rgbColors = wxColourToRGB(m_fontData.fontColour); + if ( m_fontData.m_fontColour.IsOk() ) + { + chooseFontStruct.rgbColors = wxColourToRGB(m_fontData.m_fontColour); + } // CF_ANSIONLY flag is obsolete for Win32 if ( !m_fontData.GetAllowSymbols() ) { -#ifdef __WIN16__ - flags |= CF_ANSIONLY; -#else // Win32 flags |= CF_SELECTSCRIPT; logFont.lfCharSet = ANSI_CHARSET; -#endif // Win16/32 } if ( m_fontData.GetEnableEffects() ) @@ -123,10 +94,10 @@ int wxFontDialog::ShowModal() if ( m_fontData.GetShowHelp() ) flags |= CF_SHOWHELP; - if ( m_fontData.minSize != 0 || m_fontData.maxSize != 0 ) + if ( m_fontData.m_minSize != 0 || m_fontData.m_maxSize != 0 ) { - chooseFontStruct.nSizeMin = m_fontData.minSize; - chooseFontStruct.nSizeMax = m_fontData.maxSize; + chooseFontStruct.nSizeMin = m_fontData.m_minSize; + chooseFontStruct.nSizeMax = m_fontData.m_maxSize; flags |= CF_LIMITSIZE; } @@ -134,8 +105,8 @@ int wxFontDialog::ShowModal() if ( ChooseFont(&chooseFontStruct) != 0 ) { - wxRGBToColour(m_fontData.fontColour, chooseFontStruct.rgbColors); - m_fontData.chosenFont = wxCreateFontFromLogFont(&logFont); + wxRGBToColour(m_fontData.m_fontColour, chooseFontStruct.rgbColors); + m_fontData.m_chosenFont = wxCreateFontFromLogFont(&logFont); m_fontData.EncodingInfo().facename = logFont.lfFaceName; m_fontData.EncodingInfo().charset = logFont.lfCharSet; @@ -143,18 +114,15 @@ int wxFontDialog::ShowModal() } else { - // common dialog failed - why? -#ifdef __WXDEBUG__ DWORD dwErr = CommDlgExtendedError(); if ( dwErr != 0 ) { - // this msg is only for developers - wxLogError(wxT("Common dialog failed with error code %0lx."), - dwErr); + wxLogError(_("Common dialog failed with error code %0lx."), dwErr); } //else: it was just cancelled -#endif return wxID_CANCEL; } } + +#endif // wxUSE_FONTDLG