]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - radiant/patchdialog.h
transfer from internal tree r5311 branches/1.4-gpl
[xonotic/netradiant.git] / radiant / patchdialog.h
1 /*\r
2 Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.\r
4 \r
5 This file is part of GtkRadiant.\r
6 \r
7 GtkRadiant is free software; you can redistribute it and/or modify\r
8 it under the terms of the GNU General Public License as published by\r
9 the Free Software Foundation; either version 2 of the License, or\r
10 (at your option) any later version.\r
11 \r
12 GtkRadiant is distributed in the hope that it will be useful,\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15 GNU General Public License for more details.\r
16 \r
17 You should have received a copy of the GNU General Public License\r
18 along with GtkRadiant; if not, write to the Free Software\r
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
20 */\r
21 \r
22 #ifndef _PATCHDIALOG_H_\r
23 #define _PATCHDIALOG_H_\r
24 \r
25 #include "dialog.h"\r
26 \r
27 #ifdef _DEBUG\r
28 //#define DBG_PI\r
29 #endif\r
30 \r
31 class PatchDialog : public Dialog\r
32 {\r
33  public:\r
34   // overrides from Dialog\r
35   void HideDlg();\r
36   void ShowDlg();\r
37 \r
38 //  void UpdateInfo();\r
39 //  void SetPatchInfo();\r
40   void GetPatchInfo();\r
41   void UpdateSpinners(bool bUp, int nID);\r
42   // read the current patch on map and initialize m_fX m_fY accordingly\r
43   void UpdateRowColInfo();\r
44   // sync the dialog our internal data structures\r
45   // depending on the flag it will read or write\r
46   // we use m_nCol m_nRow m_fX m_fY m_fZ m_fS m_fT m_strName\r
47   // (NOTE: this doesn't actually commit stuff to the map or read from it)\r
48   void UpdateData (bool retrieve);\r
49 \r
50   void InitDefaultIncrement(texdef_t *);\r
51 \r
52   PatchDialog();\r
53   patchMesh_t *m_Patch;\r
54 \r
55   Str   m_strName;\r
56   float m_fS;\r
57   float m_fT;\r
58   float m_fX;\r
59   float m_fY;\r
60   float m_fZ;\r
61 /*  float       m_fHScale;\r
62   float m_fHShift;\r
63   float m_fRotate;\r
64   float m_fVScale;\r
65   float m_fVShift; */\r
66   int   m_nCol;\r
67   int   m_nRow;\r
68   GtkWidget *m_pRowCombo;\r
69   GtkWidget *m_pColCombo;\r
70 \r
71   GtkWidget *GetWidget () { return m_pWidget; }\r
72 \r
73   // 0 is invalid, otherwise it's the Id of the last 'do' we are responsible for\r
74 //  int m_nUndoId;\r
75   \r
76   // turn on/off processing of the "changed" "value_changed" messages\r
77   // (need to turn off when we are feeding data in)\r
78   // NOTE: much more simple than blocking signals\r
79   bool m_bListenChanged;\r
80 \r
81 protected:\r
82   void BuildDialog ();\r
83 };\r
84 \r
85 #endif // _PATCHDIALOG_H_\r