00001 /* -*- mode: C++; tab-width: 4; c-basic-offset: 4; -*- */ 00002 /* AbiSource Application Framework 00003 * Copyright (C) 2005,2011 Hubert Figuiere 00004 * 00005 * This program is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU General Public License 00007 * as published by the Free Software Foundation; either version 2 00008 * of the License, or (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program; if not, write to the Free Software 00017 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00018 * 02110-1301 USA. 00019 */ 00020 00021 00022 #ifndef __XAP_UNIXWIDGET_H__ 00023 #define __XAP_UNIXWIDGET_H__ 00024 00025 #include "xap_Widget.h" 00026 #include <string> 00027 #include <gtk/gtk.h> 00028 00029 class XAP_UnixWidget 00030 : public XAP_Widget 00031 { 00032 public: 00033 XAP_UnixWidget(GtkWidget * w); 00034 00036 virtual ~XAP_UnixWidget() 00037 { } 00038 00040 virtual void setState(bool enabled); 00042 virtual bool getState(void); 00043 00045 virtual void setVisible(bool visible); 00047 virtual bool getVisible(void); 00048 00050 virtual void setValueInt(int val); 00052 virtual int getValueInt(void); 00053 00055 virtual void setValueString(const UT_UTF8String &val); 00057 virtual void getValueString(UT_UTF8String &val); 00058 00060 virtual void setValueFloat(float val); 00062 virtual float getValueFloat(void); 00063 00065 virtual void setLabel(const UT_UTF8String &val); 00066 virtual void setLabel(const std::string &val); 00067 00068 void setData(const std::string & data) 00069 { 00070 m_data = data; 00071 } 00072 private: 00073 void setLabelCStr(const char* val); 00074 00075 GtkWidget *m_widget; 00076 // used to store the markup for a GtkLabel 00077 std::string m_data; 00078 }; 00079 00080 00081 00082 #endif