]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/dialog.cpp
changed ASSERT_MESSAGE and ERROR_MESSAGE macros to use proper
[xonotic/netradiant.git] / radiant / dialog.cpp
index e57dae78d25e3d767fb0f134c478f924bc959b77..cb5c7069cd391dd6a48cb323d6fde06cb68c089d 100644 (file)
@@ -170,18 +170,31 @@ void IntRadioExport(GtkRadioButton& widget, const IntImportCallback& importCallb
 }
 typedef ImportExport<GtkRadioButton, int, IntRadioImport, IntRadioExport> IntRadioImportExport;
 
+template<typename Type, typename Formatter>
+class StringFromType
+{
+  StringOutputStream value;
+public:
+  StringFromType(const Type& type)
+  {
+    value << Formatter(type);
+  }
+  operator const char*() const
+  {
+    return value.c_str();
+  }
+};
+
+typedef StringFromType<const char*, ConvertLocaleToUTF8> LocaleToUTF8;
+typedef StringFromType<const char*, ConvertUTF8ToLocale> UTF8ToLocale;
 
 void TextEntryImport(GtkEntry& widget, const char* text)
 {
-  StringOutputStream value(64);
-  value << ConvertLocaleToUTF8(text);
-  gtk_entry_set_text(&widget, value.c_str());
+  gtk_entry_set_text(&widget, LocaleToUTF8(text));
 }
 void TextEntryExport(GtkEntry& widget, const StringImportCallback& importCallback)
 {
-  StringOutputStream value(64);
-  value << ConvertUTF8ToLocale(gtk_entry_get_text(&widget));
-  importCallback(value.c_str());
+  importCallback(UTF8ToLocale(gtk_entry_get_text(&widget)));
 }
 typedef ImportExport<GtkEntry, const char*, TextEntryImport, TextEntryExport> TextEntryImportExport;
 
@@ -365,14 +378,14 @@ Dialog::~Dialog()
 
 void Dialog::ShowDlg()
 {
-  ASSERT_MESSAGE(m_window != 0, "dialog was not constructed")
+  ASSERT_MESSAGE(m_window != 0, "dialog was not constructed");
   importData();
   gtk_widget_show(GTK_WIDGET(m_window));
 }
 
 void Dialog::HideDlg()
 {
-  ASSERT_MESSAGE(m_window != 0, "dialog was not constructed")
+  ASSERT_MESSAGE(m_window != 0, "dialog was not constructed");
   exportData();
   gtk_widget_hide(GTK_WIDGET(m_window));
 }
@@ -386,7 +399,7 @@ static gint delete_event_callback(GtkWidget *widget, GdkEvent* event, gpointer d
 
 void Dialog::Create()
 {
-  ASSERT_MESSAGE(m_window == 0, "dialog cannot be constructed")
+  ASSERT_MESSAGE(m_window == 0, "dialog cannot be constructed");
 
   m_window = BuildDialog();
   g_signal_connect(G_OBJECT(m_window), "delete_event", G_CALLBACK(delete_event_callback), this);
@@ -676,7 +689,7 @@ void Dialog::addRadioIcons(GtkWidget* vbox, const char* name, int& data, StringA
   addRadioIcons(vbox, name, icons, IntImportCaller(data), IntExportCaller(data));
 }
 
-GtkWidget* Dialog::addEntry(GtkWidget* vbox, const char* name, const IntImportCallback& importViewer, const IntExportCallback& exportViewer)
+GtkWidget* Dialog::addIntEntry(GtkWidget* vbox, const char* name, const IntImportCallback& importViewer, const IntExportCallback& exportViewer)
 {
   DialogEntryRow row(DialogEntryRow_new(name));
   AddIntEntryData(*row.m_entry, importViewer, exportViewer);
@@ -684,7 +697,7 @@ GtkWidget* Dialog::addEntry(GtkWidget* vbox, const char* name, const IntImportCa
   return row.m_row;
 }
 
-GtkWidget* Dialog::addEntry(GtkWidget* vbox, const char* name, const SizeImportCallback& importViewer, const SizeExportCallback& exportViewer)
+GtkWidget* Dialog::addSizeEntry(GtkWidget* vbox, const char* name, const SizeImportCallback& importViewer, const SizeExportCallback& exportViewer)
 {
   DialogEntryRow row(DialogEntryRow_new(name));
   AddSizeEntryData(*row.m_entry, importViewer, exportViewer);
@@ -692,7 +705,7 @@ GtkWidget* Dialog::addEntry(GtkWidget* vbox, const char* name, const SizeImportC
   return row.m_row;
 }
 
-GtkWidget* Dialog::addEntry(GtkWidget* vbox, const char* name, const FloatImportCallback& importViewer, const FloatExportCallback& exportViewer)
+GtkWidget* Dialog::addFloatEntry(GtkWidget* vbox, const char* name, const FloatImportCallback& importViewer, const FloatExportCallback& exportViewer)
 {
   DialogEntryRow row(DialogEntryRow_new(name));
   AddFloatEntryData(*row.m_entry, importViewer, exportViewer);