|
From: Emilien K. <cur...@us...> - 2005-08-24 15:43:41
|
Update of /cvsroot/wxdevcenter/StdPlugin/include/wxDevCenter/StdPlugin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30456/include/wxDevCenter/StdPlugin Modified Files: BitmapProp.h Log Message: Rewrite the unit system. Index: BitmapProp.h =================================================================== RCS file: /cvsroot/wxdevcenter/StdPlugin/include/wxDevCenter/StdPlugin/BitmapProp.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BitmapProp.h 24 Aug 2005 10:55:35 -0000 1.1 --- BitmapProp.h 24 Aug 2005 15:43:30 -0000 1.2 *************** *** 15,32 **** { ! /** Type of size unit.*/ ! enum SizeUnit { ! Point, ! Millimeter, ! Centimeter, ! Meter, ! Inch, ! Twip, ! Pixel }; ! /** Classe de description des propri�t�s d'une image bitmap.*/ class BitmapProperties : public wxObject { --- 15,57 ---- { ! /** Structure de description d'une unité de mesure. ! * @note Un twip est la mesure de base : 1 twip est 1/15 de pixel, 1/1440 de pouce (inch). ! */ ! struct SizeUnit { ! /** Nom de l'unité.*/ ! wxString name; ! /** Symbole.*/ ! wxString symbol; ! /** Coeficient de conversion depuis un twip (nombre de twip dans une unité).*/ ! double coef; ! ! /** Convertit une longueur d'une unité à une autre. ! * @param d Longueur à convertir. ! * @param UnitIn Unité de la longueur d'entrée. ! * @param UnitOut Unité de la longueur de retour. ! * @return Longueur convertie.*/ ! static double Convert(double d, const SizeUnit& UnitIn, const SizeUnit& UnitOut) ! { ! return d*UnitIn.coef/UnitOut.coef; ! } ! }; + namespace Units + { + extern SizeUnit Twip; + extern SizeUnit Point; + extern SizeUnit Pica; + extern SizeUnit Inch; + extern SizeUnit Millimeter; + extern SizeUnit Centimeter; + extern SizeUnit Meter; + } + ! ! ! /** Classe de description des propriétés d'une image bitmap.*/ class BitmapProperties : public wxObject { *************** *** 34,39 **** /** Taille en pixels.*/ wxSize m_Size; ! /** Ratio en ppp.*/ ! wxRealPoint m_Ratio; public: /** Default constructor.*/ --- 59,64 ---- /** Taille en pixels.*/ wxSize m_Size; ! /** Résolution en ppp (point per pixel).*/ ! double m_dRes; public: /** Default constructor.*/ *************** *** 42,87 **** BitmapProperties(const BitmapProperties& BmpProp); /** Constructor.*/ ! BitmapProperties(wxSize sz, wxRealPoint ratio=wxRealPoint(72,72)); /** Retourne la taille. * @return Taille en pixel.*/ wxSize GetSize()const{return m_Size;} ! /** Retourne le ratio. ! * @return Ratio en ppp.*/ ! wxRealPoint GetRatio()const{return m_Ratio;} - /** Retourne la résolution dans l'unité de taille demandée. - * @param unit Unité demandée pour la résolution. - * @return Résolution dans l'unité de taille demandée.*/ - wxRealPoint GetResolution(SizeUnit unit)const; - /** Fixe la taille. * @param size Nouvelle taille en pixels.*/ void SetSize(wxSize size){m_Size = size;}; ! /** Fixe le ratio. ! * @param ratio Nouveau ratio en ppp.*/ ! void SetRatio(wxRealPoint ratio){m_Ratio = ratio;} ! ! /** Fixe la taille depuis une résolution. ! * @param res Nouvelle résolution. ! * @param unit Unit� de la résolution.*/ ! void SetSize(wxRealPoint res, SizeUnit unit); - /** Fixe le ratio depuis une résolution. - * @param res Nouvelle résolution. - * @param unit Unit� de la résolution.*/ - void SetRatio(wxRealPoint res, SizeUnit unit); ! /** Convertit une longueur d'une unité à une autre. ! * @param d Longueur é convertir. ! * @param unitIn Unité d'entrée. ! * @param unitOut Unité de sortie.*/ ! double ConvertUnit(double d, SizeUnit unitIn, SizeUnit unitOut)const; ! /** Convertit une Taille d'une unité à une autre. ! * @param pt Taille à convertir. ! * @param unitIn Unité d'entr�e. ! * @param unitOut Unité de sortie.*/ ! wxRealPoint ConvertUnit(wxRealPoint pt, SizeUnit unitIn, SizeUnit unitOut)const; }; --- 67,106 ---- BitmapProperties(const BitmapProperties& BmpProp); /** Constructor.*/ ! BitmapProperties(wxSize sz, double dRes=72.0); /** Retourne la taille. * @return Taille en pixel.*/ wxSize GetSize()const{return m_Size;} ! /** Retourne la résolution. ! * @return Résolution en ppp.*/ ! double GetRes()const{return m_dRes;} /** Fixe la taille. * @param size Nouvelle taille en pixels.*/ void SetSize(wxSize size){m_Size = size;}; ! /** Fixe la résolution. ! * @param dRes Nouvelle résolution en ppp.*/ ! void SetRes(double dRes){m_dRes = dRes;} ! /** Retourne la taille dans l'unité de taille demandée. ! * @param unit Unité demandée pour la taille. ! * @return Taille dans l'unité de mesure demandée.*/ ! wxRealPoint GetSize(const SizeUnit& unit)const; ! /** Retourne la résolution dans l'unité de taille demandée. ! * @param unit Unité demandée pour la résolution. ! * @return Résolution dans l'unité de mesure demandée.*/ ! double GetRes(const SizeUnit& unit)const; ! ! /** Fixe la taille. ! * @param size Nouvelle taille. ! * @param unit Unité de mesure de la taille.*/ ! void SetSize(wxRealPoint size, const SizeUnit& unit); ! ! /** Fixe la résolution. ! * @param dRes Nouvelle résolution. ! * @param unit Unité de la résolution.*/ ! void SetRes(double dRes, const SizeUnit& unit); }; *************** *** 107,114 **** wxStaticText* m_pSizeTextCtrl; ! /** Résolution horizontale.*/ ! wxTextCtrl* m_pHResTextCtrl; ! /** Résolution verticale.*/ ! wxTextCtrl* m_pVResTextCtrl; /** Unité.*/ wxChoice* m_pResUnitChoice; --- 126,131 ---- wxStaticText* m_pSizeTextCtrl; ! /** Résolution.*/ ! wxTextCtrl* m_pResTextCtrl; /** Unité.*/ wxChoice* m_pResUnitChoice; *************** *** 116,125 **** public: /** Standard constructor.*/ ! BitmapPropertiesDialog(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize); ! /** Fixe les propri�t�s.*/ void SetProperties(const BitmapProperties& BmpProp){m_BmpProp = BmpProp;} ! /** Retourne les propri�t�s.*/ BitmapProperties GetProperties()const{return m_BmpProp;} }; --- 133,157 ---- public: /** Standard constructor.*/ ! BitmapPropertiesDialog(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER, const wxString& name = wxT("BitmapPropertiesDialog")); ! /** Fixe les propriétés.*/ void SetProperties(const BitmapProperties& BmpProp){m_BmpProp = BmpProp;} ! /** Retourne les propriétés.*/ BitmapProperties GetProperties()const{return m_BmpProp;} + + /** Met à jour les controles.*/ + void UpdateCtrl(bool bUpdateSize=true, bool bUpdateRes=true); + protected: + /** Mise à jour initiale.*/ + void OnInitialUpdate(wxInitDialogEvent& event); + + /** Interception d'un changement d'unté d'affichage.*/ + void OnChangeUnit(wxCommandEvent& event); + + /** Interception d'un changement de taille.*/ + void OnSizeChanged(wxCommandEvent& event); + + /** Interception d'un changement de résolution.*/ + void OnResChanged(wxCommandEvent& event); }; |