2 Copyright (C) 1999-2007 id Software, Inc. and contributors.
\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.
\r
5 This file is part of GtkRadiant.
\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
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
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
25 #include <gtk/gtk.h>
\r
27 #include "gtkmisc.h"
\r
49 start modal dialog box
\r
50 you need to use AddModalButton to select IDOK IDCANCEL buttons
\r
53 void EndModal (int code);
\r
54 virtual void BuildDialog () = 0;
\r
55 virtual void UpdateData (bool retrieve);
\r
56 virtual void PreModal () { };
\r
57 virtual void PostModal (int code) { };
\r
58 virtual void ShowDlg ();
\r
59 virtual void HideDlg ();
\r
62 GtkWidget* GetDlgWidget (const char* name)
\r
63 { return GTK_WIDGET (g_object_get_data (G_OBJECT (m_pWidget), name)); }
\r
64 GtkWidget* GetWidget ()
\r
65 { return m_pWidget; }
\r
68 GtkWidget *m_pWidget;
\r
72 void AddDialogData (GtkWidget *widget, void *buf, DLG_DATA_TYPE type)
\r
73 { AddDialogData (GTK_OBJECT (widget), buf, type); };
\r
74 void AddDialogData (GtkObject *object, void *buf, DLG_DATA_TYPE type);
\r
76 used in overloaded BuildDialog implementations to configure modal behaviour easily
\r
78 void AddModalButton (GtkWidget *widget, int ret);
\r
81 GSList* m_pDataList;
\r
85 #endif // _DIALOG_H_
\r