Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FXColorDialog.h

00001 /******************************************************************************** 00002 * * 00003 * C o l o r D i a l o g * 00004 * * 00005 ********************************************************************************* 00006 * Copyright (C) 1998,2004 by Jeroen van der Zijp. All Rights Reserved. * 00007 ********************************************************************************* 00008 * This library is free software; you can redistribute it and/or * 00009 * modify it under the terms of the GNU Lesser General Public * 00010 * License as published by the Free Software Foundation; either * 00011 * version 2.1 of the License, or (at your option) any later version. * 00012 * * 00013 * This library is distributed in the hope that it will be useful, * 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00016 * Lesser General Public License for more details. * 00017 * * 00018 * You should have received a copy of the GNU Lesser General Public * 00019 * License along with this library; if not, write to the Free Software * 00020 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * 00021 ********************************************************************************* 00022 * $Id: FXColorDialog.h,v 1.17 2004/02/08 17:17:33 fox Exp $ * 00023 ********************************************************************************/ 00024 #ifndef FXCOLORDIALOG_H 00025 #define FXCOLORDIALOG_H 00026 00027 #ifndef FXDIALOGBOX_H 00028 #include "FXDialogBox.h" 00029 #endif 00030 00031 namespace FX { 00032 00033 00034 class FXColorSelector; 00035 00036 00037 /** 00038 * The Color dialog is a standard dialog panel used to edit colors. 00039 * Colors can be edited via RGB (Red, Green, Blue additive color model), 00040 * via HSV (Hue, Saturation, Value color modal), via CMY (Cyan, Magenta, 00041 * Yellow substractive color model), or by name. 00042 * Commonly used colors can be dragged into a number of small color wells 00043 * to be used repeatedly; colors dropped into the small color wells are 00044 * automatically saved into the registry for future use. 00045 */ 00046 class FXAPI FXColorDialog : public FXDialogBox { 00047 FXDECLARE(FXColorDialog) 00048 protected: 00049 FXColorSelector *colorbox; 00050 protected: 00051 FXColorDialog(){} 00052 private: 00053 FXColorDialog(const FXColorDialog&); 00054 FXColorDialog &operator=(const FXColorDialog&); 00055 public: 00056 long onChgColor(FXObject*,FXSelector,void*); 00057 long onCmdColor(FXObject*,FXSelector,void*); 00058 public: 00059 enum { 00060 ID_COLORSELECTOR=FXDialogBox::ID_LAST, 00061 ID_LAST 00062 }; 00063 public: 00064 00065 /// Construct color dialog 00066 FXColorDialog(FXWindow* owner,const FXString& name,FXuint opts=0,FXint x=0,FXint y=0,FXint w=0,FXint h=0); 00067 00068 /// Set the color 00069 void setRGBA(FXColor clr); 00070 00071 /// Get the color 00072 FXColor getRGBA() const; 00073 00074 /// Return true if only opaque colors allowed 00075 FXbool isOpaqueOnly() const; 00076 00077 /// Change opaque only mode 00078 void setOpaqueOnly(FXbool forceopaque); 00079 00080 /// Save dialog to a stream 00081 virtual void save(FXStream& store) const; 00082 00083 /// Load dialog from a stream 00084 virtual void load(FXStream& store); 00085 00086 /// Destructor 00087 virtual ~FXColorDialog(); 00088 }; 00089 00090 } 00091 00092 #endif

Copyright © 1997-2004 Jeroen van der Zijp