/* Copyright (C) 1999-2007 id Software, Inc. and contributors. For a list of contributors, see the accompanying CONTRIBUTORS file. This file is part of GtkRadiant. GtkRadiant is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. GtkRadiant is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GtkRadiant; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _PATCHDIALOG_H_ #define _PATCHDIALOG_H_ #include "dialog.h" #ifdef _DEBUG //#define DBG_PI #endif class PatchDialog : public Dialog { public: // overrides from Dialog void HideDlg(); void ShowDlg(); // void UpdateInfo(); // void SetPatchInfo(); void GetPatchInfo(); void UpdateSpinners( bool bUp, int nID ); // read the current patch on map and initialize m_fX m_fY accordingly void UpdateRowColInfo(); // sync the dialog our internal data structures // depending on the flag it will read or write // we use m_nCol m_nRow m_fX m_fY m_fZ m_fS m_fT m_strName // (NOTE: this doesn't actually commit stuff to the map or read from it) void UpdateData( bool retrieve ); void InitDefaultIncrement( texdef_t * ); PatchDialog(); patchMesh_t *m_Patch; Str m_strName; float m_fS; float m_fT; float m_fX; float m_fY; float m_fZ; /* float m_fHScale; float m_fHShift; float m_fRotate; float m_fVScale; float m_fVShift; */ int m_nCol; int m_nRow; GtkWidget *m_pRowCombo; GtkWidget *m_pColCombo; GtkWidget *GetWidget() { return m_pWidget; } // 0 is invalid, otherwise it's the Id of the last 'do' we are responsible for // int m_nUndoId; // turn on/off processing of the "changed" "value_changed" messages // (need to turn off when we are feeding data in) // NOTE: much more simple than blocking signals bool m_bListenChanged; protected: void BuildDialog(); }; #endif // _PATCHDIALOG_H_