]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/entityinspector.cpp
Merge commit '48410b113dd2036e69dbf723a39ec9af02fc9b12'
[xonotic/netradiant.git] / radiant / entityinspector.cpp
index e2f3c194938ef89dc676eda77e3cbff77761dbfa..95f03f7378326bd34f4cd01a204b1589fce58056 100644 (file)
@@ -76,6 +76,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include "entity.h"
 #include "mainframe.h"
 #include "textureentry.h"
+#include "groupdialog.h"
 
 GtkEntry* numeric_entry_new()
 {
@@ -216,7 +217,7 @@ public:
   void apply()
   {
     StringOutputStream value(64);
-    value << ConvertUTF8ToLocale(gtk_entry_get_text(m_entry));
+    value << gtk_entry_get_text(m_entry);
     Scene_EntitySetKeyValue_Selected_Undoable(m_key.c_str(), value.c_str());
   }
   typedef MemberCaller<StringAttribute, &StringAttribute::apply> ApplyCaller;
@@ -224,7 +225,7 @@ public:
   void update()
   {
     StringOutputStream value(64);
-    value << ConvertLocaleToUTF8(SelectedEntity_getValueForKey(m_key.c_str()));
+    value << SelectedEntity_getValueForKey(m_key.c_str());
     gtk_entry_set_text(m_entry, value.c_str());
   }
   typedef MemberCaller<StringAttribute, &StringAttribute::update> UpdateCaller;
@@ -264,14 +265,14 @@ public:
   void apply()
   {
     StringOutputStream value(64);
-    value << ConvertUTF8ToLocale(gtk_entry_get_text(GTK_ENTRY(m_entry.m_entry.m_entry)));
+    value << gtk_entry_get_text(GTK_ENTRY(m_entry.m_entry.m_entry));
     Scene_EntitySetKeyValue_Selected_Undoable(m_key.c_str(), value.c_str());
   }
   typedef MemberCaller<ModelAttribute, &ModelAttribute::apply> ApplyCaller;
   void update()
   {
     StringOutputStream value(64);
-    value << ConvertLocaleToUTF8(SelectedEntity_getValueForKey(m_key.c_str()));
+    value << SelectedEntity_getValueForKey(m_key.c_str());
     gtk_entry_set_text(GTK_ENTRY(m_entry.m_entry.m_entry), value.c_str());
   }
   typedef MemberCaller<ModelAttribute, &ModelAttribute::update> UpdateCaller;
@@ -338,14 +339,14 @@ public:
   void apply()
   {
     StringOutputStream value(64);
-    value << ConvertUTF8ToLocale(gtk_entry_get_text(GTK_ENTRY(m_entry.m_entry.m_entry)));
+    value << gtk_entry_get_text(GTK_ENTRY(m_entry.m_entry.m_entry));
     Scene_EntitySetKeyValue_Selected_Undoable(m_key.c_str(), value.c_str());
   }
   typedef MemberCaller<SoundAttribute, &SoundAttribute::apply> ApplyCaller;
   void update()
   {
     StringOutputStream value(64);
-    value << ConvertLocaleToUTF8(SelectedEntity_getValueForKey(m_key.c_str()));
+    value << SelectedEntity_getValueForKey(m_key.c_str());
     gtk_entry_set_text(GTK_ENTRY(m_entry.m_entry.m_entry), value.c_str());
   }
   typedef MemberCaller<SoundAttribute, &SoundAttribute::update> UpdateCaller;
@@ -1058,6 +1059,7 @@ public:
     m_creators.insert(Creators::value_type("model", &StatelessAttributeCreator<ModelAttribute>::create));
     m_creators.insert(Creators::value_type("sound", &StatelessAttributeCreator<SoundAttribute>::create));
     m_creators.insert(Creators::value_type("vector3", &StatelessAttributeCreator<Vector3Attribute>::create));
+    m_creators.insert(Creators::value_type("real3", &StatelessAttributeCreator<Vector3Attribute>::create));
   }
   EntityAttribute* create(const char* type, const char* name)
   {
@@ -1170,9 +1172,9 @@ void EntityInspector_updateKeyValues()
     GtkTreeIter iter;
     gtk_list_store_append(store, &iter);
     StringOutputStream key(64);
-    key << ConvertLocaleToUTF8((*i).first.c_str());
+    key << (*i).first.c_str();
     StringOutputStream value(64);
-    value << ConvertLocaleToUTF8((*i).second.c_str());
+    value << (*i).second.c_str();
     gtk_list_store_set(store, &iter, 0, key.c_str(), 1, value.c_str(), -1);
   }
 
@@ -1243,9 +1245,9 @@ void EntityInspector_applyKeyValue()
 {
   // Get current selection text
   StringOutputStream key(64);
-  key << ConvertUTF8ToLocale(gtk_entry_get_text(g_entityKeyEntry));
+  key << gtk_entry_get_text(g_entityKeyEntry);
   StringOutputStream value(64);
-  value << ConvertUTF8ToLocale(gtk_entry_get_text(g_entityValueEntry));
+  value << gtk_entry_get_text(g_entityValueEntry);
 
 
   // TTimo: if you change the classname to worldspawn you won't merge back in the structural brushes but create a parasite entity
@@ -1280,7 +1282,7 @@ void EntityInspector_clearKeyValue()
 {
   // Get current selection text
   StringOutputStream key(64);
-  key << ConvertUTF8ToLocale(gtk_entry_get_text(g_entityKeyEntry));
+  key << gtk_entry_get_text(g_entityKeyEntry);
 
   if(strcmp(key.c_str(), "classname") != 0)
   {
@@ -1759,3 +1761,11 @@ void EntityInspector_destroy()
   GlobalEntityClassManager().detach(g_EntityInspector);
 }
 
+const char *EntityInspector_getCurrentKey()
+{
+       if(!GroupDialog_isShown())
+               return 0;
+       if(GroupDialog_getPage() != g_page_entity)
+               return 0;
+       return gtk_entry_get_text(g_entityKeyEntry);
+}