OSDN Git Service

OBJ読み込み条件を保存するように変更
authorqw_fuku <fkhideaki@gmail.com>
Tue, 16 Aug 2016 02:45:54 +0000 (11:45 +0900)
committerqw_fuku <fkhideaki@gmail.com>
Tue, 16 Aug 2016 02:45:54 +0000 (11:45 +0900)
Src/LibQtGeoViewerCore/SceneMain.h
Src/QtGeoViewer/FormMain.cpp
Src/QtGeoViewer/GuiConfig.cpp
Src/QtGeoViewer/WidgetIOOption.cpp
Src/QtGeoViewer/WidgetIOOption.h

index e599410..f865e28 100644 (file)
@@ -63,14 +63,14 @@ class IOConfig
 {
 public:
        IOConfig(void) :
-               ObjSplit(false),
+               ObjSplit(false, "ObjSplit"),
                ObjMergeLine(true),
                InterpolateAnimation(false)
        {
        }
 
 public:
-       bool ObjSplit;
+       NamedValue<bool> ObjSplit;
        bool ObjMergeLine;
        bool InterpolateAnimation;
 };
index 6041538..b580673 100644 (file)
@@ -637,6 +637,8 @@ bool FormMain::InitializeConfig(QString path)
        SyncTexConfigToData();
        SyncShaderSettingsToGUI();
 
+       ui.widgetIOOption->setConfig(m_Scene.m_IOConfig);
+
        updateView_All();
 
        m_EnableAllFeatures = cfg.m_EnableAllFeatures;
@@ -650,6 +652,8 @@ void FormMain::SaveConfigFile(QString path)
        cfg.m_Config3D = &m_View3d.m_Config;
        cfg.m_Scene    = &m_Scene;
 
+       ui.widgetIOOption->getConfig(m_Scene.m_IOConfig);
+
        cfg.m_EnableAllFeatures = m_EnableAllFeatures;
 
        cfg.m_AutFitUVView = ui.actionUVAutoFit ->isChecked();
index 9f11691..1393991 100644 (file)
@@ -256,6 +256,12 @@ bool GuiConfig::SaveConfigT(const char* filename)
                        }
                        x.writeEndElement();
 
+                       x.writeStartElement("IOConfig");
+                       {
+                               qxe::WriteBool ( x , m_Scene->m_IOConfig.ObjSplit.GetName() , m_Scene->m_IOConfig.ObjSplit );
+                       }
+                       x.writeEndElement();
+
                        x.writeStartElement("RecentFiles");
                        for (size_t i = 0; i < m_RecentFiles.size(); ++i)
                        {
@@ -402,6 +408,14 @@ bool GuiConfig::LoadConfigT(const char* filename)
                                                        m_EnableAllFeatures = qxe::ReadBool(n_gui);
                                        }
                                }
+                               else if (n_config_name == "IOConfig")
+                               {
+                                       QXML_ELEM_FOREACH(n_gui, n_config)
+                                       {
+                                               if (n_gui.nodeName() == m_Scene->m_IOConfig.ObjSplit.GetName())
+                                                       m_Scene->m_IOConfig.ObjSplit = qxe::ReadBool(n_gui);
+                                       }
+                               }
                                else if (n_config_name == "RecentFiles")
                                {
                                        QXML_ELEM_FOREACH(n_path, n_config)
index 1c83969..c312b53 100644 (file)
@@ -18,3 +18,10 @@ void WidgetIOOption::getConfig(IOConfig& config)
        config.ObjMergeLine = ui.checkMergeObjLine->isChecked();
        config.InterpolateAnimation = ui.checkInterpolateAnimation->isChecked();
 }
+
+void WidgetIOOption::setConfig(const IOConfig& config)
+{
+       ui.checkSplitOBJ->setChecked(config.ObjSplit);
+       ui.checkMergeObjLine->setChecked(config.ObjMergeLine);
+       ui.checkInterpolateAnimation->setChecked(config.InterpolateAnimation);
+}
index 5a7e805..456c123 100644 (file)
@@ -15,6 +15,7 @@ public:
        ~WidgetIOOption();
 
        void getConfig(IOConfig& config);
+       void setConfig(const IOConfig& config);
 
 private:
        Ui::WidgetIOOption ui;