]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/groupdialog.h
Merge branch 'optional_q3map2_type' into 'master'
[xonotic/netradiant.git] / radiant / groupdialog.h
index c9947a67440cbee184aace6dbef11ffd9c80fa3d..63f36a02526df4d1c48c601da9a7dc4aec3add5b 100644 (file)
@@ -1,5 +1,5 @@
 /*
-   Copyright (C) 1999-2007 id Software, Inc. and contributors.
+   Copyright (C) 1999-2006 Id Software, Inc. and contributors.
    For a list of contributors, see the accompanying CONTRIBUTORS file.
 
    This file is part of GtkRadiant.
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-#ifndef _GROUPDIALOG_H_
-#define _GROUPDIALOG_H_
+#if !defined( INCLUDED_GROUPDIALOG_H )
+#define INCLUDED_GROUPDIALOG_H
 
-#define DlgXBorder 5
-#define DlgYBorder 5
+#include <uilib/uilib.h>
+#include "property.h"
+#include "generic/callback.h"
 
+void GroupDialog_Construct();
 
-enum
-{
-       EntList,
-       EntComment,
-// Spawnflags
-       EntCheck1,
-       EntCheck2,
-       EntCheck3,
-       EntCheck4,
-       EntCheck5,
-       EntCheck6,
-       EntCheck7,
-       EntCheck8,
-// Extra Spawnflags for Halflife Support
-       EntCheck9,
-       EntCheck10,
-       EntCheck11,
-       EntCheck12,
-       EntCheck13,
-       EntCheck14,
-       EntCheck15,
-       EntCheck16,
-
-       EntCheck17,
-       EntCheck18,
-       EntCheck19,
-       EntCheck20,
-
-       EntProps,
-       EntDir0,
-       EntDir45,
-       EntDir90,
-       EntDir135,
-       EntDir180,
-       EntDir225,
-       EntDir270,
-       EntDir315,
-       EntDirUp,
-       EntDirDown,
-       EntDelProp,
-       EntKeyLabel,
-       EntKeyField,
-       EntValueLabel,
-       EntValueField,
-       EntColor,
-       EntAssignSounds,
-       EntAssignModels,
-       EntTab,
-
-       EntLast,
-};
-
-extern GtkWidget* EntWidgets[EntLast];
-
-//extern int rgIds[EntLast];
-
-
-class GroupDlg
+void GroupDialog_Destroy();
+
+void GroupDialog_constructWindow(ui::Window main_window);
+
+void GroupDialog_destroyWindow();
+
+ui::Window GroupDialog_getWindow();
+
+void GroupDialog_show();
+
+inline void RawStringExport(const char *string, const Callback<void(const char *)> &importer)
 {
-public:
-GroupDlg ();
-void Create();
+    importer(string);
+}
+
+typedef ConstPointerCaller<char, void(const Callback<void(const char *)> &), RawStringExport> RawStringExportCaller;
+
+ui::Widget GroupDialog_addPage(const char *tabLabel, ui::Widget widget,
+                               const Callback<void(const Callback<void(const char *)> &)> &title);
+
+void GroupDialog_showPage(ui::Widget page);
 
-void Show()
-{ gtk_widget_show( m_pWidget ); };
-void Hide()
-{ gtk_widget_hide( m_pWidget ); };
+void GroupDialog_updatePageTitle(ui::Widget page);
 
-public:
-GtkWidget* m_pNotebook;
-GtkWidget* m_pWidget;
-GtkWidget* m_pTree;
-GtkCTreeNode* m_hWorld;   //leo: not used keeping because of the win32 version
-};
+bool GroupDialog_isShown();
 
-extern GroupDlg *g_pGroupDlg;
+ui::Widget GroupDialog_getPage();
 
-#endif // _GROUPDIALOG_H_
+#endif