00001 /* AbiSource Application Framework 00002 * Copyright (C) 1998-2000 AbiSource, Inc. 00003 * Copyright (C) 2005 INdT 00004 * Author: Renato Araujo <renato.filho@indt.org.br> 00005 * 00006 * This program is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU General Public License 00008 * as published by the Free Software Foundation; either version 2 00009 * of the License, or (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00019 * 02110-1301 USA. 00020 */ 00021 00022 00023 00024 #ifndef XAP_UNIXHILDONDIALOG_FONTCHOOSER_H 00025 #define XAP_UNIXHILDONDIALOG_FONTCHOOSER_H 00026 00027 #include "xap_App.h" 00028 //#include "xap_UnixFontManager.h" 00029 #include "xap_Dlg_FontChooser.h" 00030 #include "ut_misc.h" 00031 00032 class XAP_Frame; 00033 00034 /*****************************************************************/ 00035 00036 class XAP_UnixHildonDialog_FontChooser : public XAP_Dialog_FontChooser 00037 { 00038 public: 00039 XAP_UnixHildonDialog_FontChooser(XAP_DialogFactory * pDlgFactory, XAP_Dialog_Id id); 00040 virtual ~XAP_UnixHildonDialog_FontChooser(void); 00041 00042 static XAP_Dialog * static_constructor(XAP_DialogFactory * pFactory, 00043 XAP_Dialog_Id id); 00044 00045 virtual void runModal(XAP_Frame * pFrame); 00046 00047 // the state of what data is hidden and what is public is 00048 // pretty grave here. 00049 //XAP_UnixFontManager * m_fontManager; 00050 00051 GtkWidget* m_Widget; 00052 00053 bool m_blockUpdate; 00054 bool m_doneFirstFont; 00055 00056 protected: 00057 00058 00059 virtual void fillFontInfo(); 00060 virtual void loadFontInfo(); 00061 00062 // Gtk sets up escape key to close a GtkDialog only when 00063 // the one of the button responses is GTK_RESPONSE_CANCEL 00064 typedef enum 00065 { 00066 BUTTON_OK = GTK_RESPONSE_OK, 00067 BUTTON_CANCEL = GTK_RESPONSE_CANCEL 00068 } ResponseId ; 00069 00070 // careful, these must be in the order the 00071 // list box will show them (Windows order) 00072 typedef enum 00073 { 00074 LIST_STYLE_NONE = -1, 00075 LIST_STYLE_NORMAL = 0, 00076 LIST_STYLE_ITALIC, 00077 LIST_STYLE_BOLD, 00078 LIST_STYLE_BOLD_ITALIC 00079 } listStyle; 00080 00081 // a temporary font to hold dynamically allocated "rented" 00082 // fonts between style changes 00083 //XAP_UnixFontHandle * m_lastFont; 00084 00085 // parent frame 00086 XAP_Frame * m_pFrame; 00087 gdouble m_currentFGColor[4]; 00088 gdouble m_currentBGColor[4]; 00089 gdouble m_funkyColor[4]; 00090 00091 00092 }; 00093 00094 #endif /* XAP_UNIXHILDONDIALOG_FONTCHOOSER_H 00095 */