00001 //////////////////////////////////////////////////////////////////////////////// 00002 // Scorched3D (c) 2000-2009 00003 // 00004 // This file is part of Scorched3D. 00005 // 00006 // Scorched3D is free software; you can redistribute it and/or modify 00007 // it under the terms of the GNU General Public License as published by 00008 // the Free Software Foundation; either version 2 of the License, or 00009 // (at your option) any later version. 00010 // 00011 // Scorched3D 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 Scorched3D; if not, write to the Free Software 00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 //////////////////////////////////////////////////////////////////////////////// 00020 00021 #if !defined(__INCLUDE_ToolTiph_INCLUDE__) 00022 #define __INCLUDE_ToolTiph_INCLUDE__ 00023 00024 #include <lang/LangString.h> 00025 00026 class GLWToolTip; 00027 class ToolTipI 00028 { 00029 public: 00030 virtual ~ToolTipI(); 00031 00032 virtual void populateCalled(unsigned int id) = 0; 00033 }; 00034 00035 class ToolTip 00036 { 00037 public: 00038 enum ToolTipType 00039 { 00040 ToolTipNone = 0, 00041 ToolTipHelp = 1, 00042 ToolTipInfo = 2, 00043 ToolTipAlignLeft = 4, 00044 ToolTipAlignBottom = 8 00045 }; 00046 00047 friend class GLWToolTip; 00048 ToolTip(unsigned int type = ToolTipNone, 00049 const LangString &title = LangString(), 00050 const LangString &text = LangString()); 00051 virtual ~ToolTip(); 00052 00053 // Used to set the title and text of the tooltip 00054 void setText(unsigned int type, 00055 const LangString &title, const LangString &text); 00056 00057 // Called just before the tooltip is shown 00058 // can be used to dynamically populate the title and text fields 00059 virtual void populate(); 00060 00061 void setHandler(ToolTipI *handler) { handler_ = handler; } 00062 00063 unsigned int getId() { return id_; } 00064 LangString &getText() { return text_; } 00065 LangString &getTitle() { return title_; } 00066 unsigned int getType() { return type_; } 00067 00068 protected: 00069 unsigned int type_; 00070 ToolTipI *handler_; 00071 unsigned int id_; 00072 static unsigned int nextId_; 00073 LangString text_; 00074 LangString title_; 00075 00076 }; 00077 #endif // __INCLUDE_ToolTiph_INCLUDE__
1.5.3