Exemplo n.º 1
0
COptionsDialog::COptionsDialog( wxWindow* pParent, CHLMVSettings* const pSettings )
	: wxPropertySheetDialog()
	, m_pSettings( pSettings )
	, m_EditableSettings( std::make_unique<CHLMVSettings>( *pSettings ) )
{
	if( !wxPropertySheetDialog::Create( pParent, wxID_ANY, "Options", wxDefaultPosition, wxSize( 500, 700 ) ) )
		return;

	CreateButtons( wxOK | wxCANCEL | wxAPPLY );

	auto pBook = GetBookCtrl();

	//TODO: refactor to use a base class and list
	m_pGeneral = new CGeneralOptions( pBook, m_EditableSettings.get() );
	m_pCompiler = new CCompilerOptions( pBook, m_EditableSettings.get() );
	m_pGameConfigs = new ui::CGameConfigurationsPanel( pBook, m_EditableSettings->GetConfigManager() );

	pBook->AddPage( m_pGeneral, "General" );
	pBook->AddPage( m_pCompiler, "Compiler" );
	pBook->AddPage( m_pGameConfigs, "Game Configurations" );

	pBook->ChangeSelection( 0 );

	pBook->SetMinSize( wxSize( 600, 400 ) );

	//Layout
	LayoutDialog();
}
Exemplo n.º 2
0
bool wxRichTextFormattingDialog::Create(long flags, wxWindow* parent, const wxString& title, wxWindowID id,
        const wxPoint& pos, const wxSize& sz, long style)
{
    SetExtraStyle(wxDIALOG_EX_CONTEXTHELP|wxWS_EX_VALIDATE_RECURSIVELY);
#ifdef __WXMAC__
    SetWindowVariant(wxWINDOW_VARIANT_SMALL);
#endif

    int resizeBorder = wxRESIZE_BORDER;

    GetFormattingDialogFactory()->SetSheetStyle(this);

    wxPropertySheetDialog::Create(parent, id, title, pos, sz,
        style | (int)wxPlatform::IfNot(wxOS_WINDOWS_CE, resizeBorder)
    );

    GetFormattingDialogFactory()->CreateButtons(this);
    GetFormattingDialogFactory()->CreatePages(flags, this);

    LayoutDialog();

    if (sm_restoreLastPage && sm_lastPage != -1)
    {
        int idx = m_pageIds.Index(sm_lastPage);
        if (idx != -1)
        {
            m_ignoreUpdates = true;
            GetBookCtrl()->SetSelection(idx);
            m_ignoreUpdates = false;
        }
    }
    return true;
}
Exemplo n.º 3
0
wxWebcamProps::wxWebcamProps(wxWindow* parent)
{
   //ctor
   wxString title = _("Video Properties");
   bool is_artemis = false;
   bool has_cooling = false;
   if(wxCamera* camera = wxFactory::singleton()->cam()) {
      title = camera->CameraName();
      is_artemis = camera->IsArtcam();
      if(camera->HasCooling())has_cooling=true;
   }

   Create(parent, wxID_ANY, title, wxDefaultPosition, wxDefaultSize,
     wxDEFAULT_DIALOG_STYLE|wxPROPSHEET_SHRINKTOFIT |wxRESIZE_BORDER
   );

   if(is_artemis) {
      GetBookCtrl()->AddPage(new ArtemisProps(GetBookCtrl()), wxT("Display"));
      if(has_cooling) {
         GetBookCtrl()->AddPage(new ArtemisCooling(GetBookCtrl()), wxT("Cooling"));
      }
   }
   else {
      GetBookCtrl()->AddPage(new PrimaryProps(GetBookCtrl()), wxT("Exposure"));
      GetBookCtrl()->AddPage(new SecondaryProps(GetBookCtrl()), wxT("Colour ++"));
      GetBookCtrl()->AddPage(new DefaultProps(GetBookCtrl()), wxT("Presets"));
      GetBookCtrl()->AddPage(new LoadSaveProps(GetBookCtrl()), wxT("Save/Restore"));
   }

   // The really simple way to create a "Cancel" button (with icon on Linux)
   //CreateButtons(wxCANCEL);

   // The more complex alternative,
   // create a button that says "Close" instead of "Cancel"
   // No icon with this button
   const long ID_CLOSE_BUTTON = wxNewId();
   wxStdDialogButtonSizer* sizer = new wxStdDialogButtonSizer();
   wxButton* close = new wxButton(this, ID_CLOSE_BUTTON,wxT("Close"));
   sizer->SetCancelButton(close);
   sizer->Realize();
   GetInnerSizer()->Add( sizer, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT|wxRIGHT, 2);
   GetInnerSizer()->AddSpacer(2); // space below button
   Connect(ID_CLOSE_BUTTON,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxWebcamProps::OnClose);

   LayoutDialog();
   m_self = this;


   // set the window positio to what it used to be last time
   long pos_x=0,pos_y=0;
   if(wxFactory::singleton()->config()->Read(_T("PropsPos_x"),&pos_x)
   && wxFactory::singleton()->config()->Read(_T("PropsPos_y"),&pos_y)) {

      long screen_x = wxSystemSettings::GetMetric(wxSYS_SCREEN_X);
      long screen_y = wxSystemSettings::GetMetric(wxSYS_SCREEN_Y);
      if((pos_x>0 && pos_x<screen_x) && (pos_y>0 && pos_y<screen_y)) {
         Move(wxPoint(pos_x,pos_y));
      }
   }
}
Exemplo n.º 4
0
OPJDecoderDialog::OPJDecoderDialog(wxWindow* win, int dialogType)
{
	SetExtraStyle(wxDIALOG_EX_CONTEXTHELP|wxWS_EX_VALIDATE_RECURSIVELY);

	Create(win, wxID_ANY, wxT("Decoder settings"),
		wxDefaultPosition, wxDefaultSize,
		wxDEFAULT_DIALOG_STYLE| (int) wxPlatform::IfNot(wxOS_WINDOWS_CE, wxRESIZE_BORDER)
		);

	CreateButtons(wxOK | wxCANCEL | (int)wxPlatform::IfNot(wxOS_WINDOWS_CE, wxHELP));

	m_settingsNotebook = GetBookCtrl();

	wxPanel* mainSettings = CreateMainSettingsPage(m_settingsNotebook);
	wxPanel* jpeg2000Settings = CreatePart1SettingsPage(m_settingsNotebook);
	if (!wxGetApp().m_enabledeco)
		jpeg2000Settings->Enable(false);
	wxPanel* mjpeg2000Settings = CreatePart3SettingsPage(m_settingsNotebook);
	if (!wxGetApp().m_enabledeco)
		mjpeg2000Settings->Enable(false);
#ifdef USE_JPWL
	wxPanel* jpwlSettings = CreatePart11SettingsPage(m_settingsNotebook);
	if (!wxGetApp().m_enabledeco)
		jpwlSettings->Enable(false);
#endif // USE_JPWL

	m_settingsNotebook->AddPage(mainSettings, wxT("Display"), false);
	m_settingsNotebook->AddPage(jpeg2000Settings, wxT("JPEG 2000"), false);
	m_settingsNotebook->AddPage(mjpeg2000Settings, wxT("MJPEG 2000"), false);
#ifdef USE_JPWL
	m_settingsNotebook->AddPage(jpwlSettings, wxT("JPWL"), false);
#endif // USE_JPWL

	LayoutDialog();
}
Exemplo n.º 5
0
OPJEncoderDialog::OPJEncoderDialog(wxWindow* win, int dialogType)
{
	SetExtraStyle(wxDIALOG_EX_CONTEXTHELP|wxWS_EX_VALIDATE_RECURSIVELY);

	Create(win, wxID_ANY, wxT("Encoder settings"),
		wxDefaultPosition, wxDefaultSize,
		wxDEFAULT_DIALOG_STYLE| (int) wxPlatform::IfNot(wxOS_WINDOWS_CE, wxRESIZE_BORDER)
		);

	CreateButtons(wxOK | wxCANCEL | (int)wxPlatform::IfNot(wxOS_WINDOWS_CE, wxHELP));

	m_settingsNotebook = GetBookCtrl();

	wxPanel* jpeg2000_1Settings = CreatePart1_1SettingsPage(m_settingsNotebook);
	wxPanel* jpeg2000_2Settings = CreatePart1_2SettingsPage(m_settingsNotebook);
	wxPanel* mainSettings = CreateMainSettingsPage(m_settingsNotebook);
#ifdef USE_JPWL
	wxPanel* jpwlSettings = CreatePart11SettingsPage(m_settingsNotebook);
#endif // USE_JPWL

#ifdef USE_JPWL
	m_settingsNotebook->AddPage(jpwlSettings, wxT("JPWL"), false);
#endif // USE_JPWL
	m_settingsNotebook->AddPage(jpeg2000_1Settings, wxT("JPEG 2000 - 1"), false);
	m_settingsNotebook->AddPage(jpeg2000_2Settings, wxT("JPEG 2000 - 2"), false);
	m_settingsNotebook->AddPage(mainSettings, wxT("General"), false);

	LayoutDialog();
}
Exemplo n.º 6
0
SettingsDialog::SettingsDialog(wxWindow* win, GOrgueSound& sound) :
	wxPropertySheetDialog(win, wxID_ANY, _("Midi & Audio Settings"), wxDefaultPosition, wxSize(740,600), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER),
	m_Sound(sound)
{
	CreateButtons(wxOK | wxCANCEL | wxHELP);

	wxBookCtrlBase* notebook = GetBookCtrl();

	m_MidiDevicePage = new SettingsMidiDevices(m_Sound, notebook);
	m_OptionsPage = new SettingsOption(m_Sound.GetSettings(), notebook);
	m_OrganPage = new SettingsOrgan(m_Sound.GetSettings(), m_Sound.GetMidi(), notebook);
	m_ArchivePage = new SettingsArchives(m_Sound.GetSettings(), *m_OrganPage, notebook);
	m_MidiMessagePage = new SettingsMidiMessage(m_Sound.GetSettings(), m_Sound.GetMidi(), notebook);
	m_GroupPage = new SettingsAudioGroup(m_Sound.GetSettings(), notebook);
	m_OutputPage = new SettingsAudioOutput(m_Sound, *m_GroupPage, notebook);
	m_ReverbPage = new SettingsReverb(m_Sound.GetSettings(), notebook);
	m_TemperamentsPage = new SettingsTemperaments(m_Sound.GetSettings(), notebook);
	m_DefaultsPage = new SettingsDefaults(m_Sound.GetSettings(), notebook);

	notebook->AddPage(m_OptionsPage,  _("Options"));
	notebook->AddPage(m_DefaultsPage,  _("Defaults and Initial Settings"));
	notebook->AddPage(m_OutputPage, _("Audio Output"));
	notebook->AddPage(m_ReverbPage, _("Reverb"));
	notebook->AddPage(m_GroupPage, _("Audio Groups"));
	notebook->AddPage(m_OrganPage, _("Organs"));
	notebook->AddPage(m_MidiDevicePage,  _("MIDI Devices"));
	notebook->AddPage(m_TemperamentsPage, _("Temperaments"));
	notebook->AddPage(m_MidiMessagePage, _("Initial MIDI Configuration"));
	notebook->AddPage(m_ArchivePage, _("Organ Packages"));

	LayoutDialog();
}
Exemplo n.º 7
0
bool dlgConfiguration::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
{
    SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
    SetSheetStyle(wxPROPSHEET_DEFAULT);
    wxPropertySheetDialog::Create( parent, id, caption, pos, size, style );

    CreateButtons(wxOK|wxCANCEL|wxHELP);
    CreateControls();
    SetIcon(GetIconResource(wxT("../../../docs/vscp/logo/fatbee_v2.ico")));
    LayoutDialog();
    Centre();

    return true;
}
bool dlgCanalInterfaceSettings::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
{
////@begin dlgCanalInterfaceSettings creation
  SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
  wxPropertySheetDialog::Create( parent, id, caption, pos, size, style );

  SetSheetStyle(wxPROPSHEET_DEFAULT);
  CreateButtons(wxOK|wxCANCEL|wxHELP);
  CreateControls();
  LayoutDialog();
  Centre();
////@end dlgCanalInterfaceSettings creation
  return true;
}
Exemplo n.º 9
0
bool Configuration::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
{
////@begin Configuration creation
    SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY|wxWS_EX_BLOCK_EVENTS);
    SetSheetStyle(wxPROPSHEET_DEFAULT);
    wxPropertySheetDialog::Create( parent, id, caption, pos, size, style );

    CreateButtons(wxOK|wxCANCEL|wxHELP);
    CreateControls();
    LayoutDialog();
    Centre();
////@end Configuration creation
    return true;
}
Exemplo n.º 10
0
Config::Config(wxWindow* parent)
{
#if defined __WXMAC__
#if wxCHECK_VERSION(2,9,1)
  SetSheetStyle(wxPROPSHEET_BUTTONTOOLBOOK | wxPROPSHEET_SHRINKTOFIT);
#else
  SetSheetStyle(wxPROPSHEET_LISTBOOK | wxPROPSHEET_SHRINKTOFIT);
#endif
#else
  SetSheetStyle(wxPROPSHEET_LISTBOOK);
#endif
  SetSheetInnerBorder(3);
  SetSheetOuterBorder(3);

#if defined __WXMAC__
  #define IMAGE(img) wxImage(wxT("wxMaxima.app/Contents/Resources/config/") wxT(img))
#elif defined __WXMSW__
  #define IMAGE(img) wxImage(wxT("art/config/") wxT(img))
#else
  wxString prefix = wxT(PREFIX);
  #define IMAGE(img) wxImage(prefix + wxT("/share/wxMaxima/") + wxT(img))
#endif

  wxSize imageSize(32, 32);
  m_imageList = new wxImageList(32, 32);
  m_imageList->Add(IMAGE("options.png"));
  m_imageList->Add(IMAGE("maxima.png"));
  m_imageList->Add(IMAGE("styles.png"));

  Create(parent, wxID_ANY, _("wxMaxima configuration"),
      wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE);

  m_notebook = GetBookCtrl();

  m_notebook->SetImageList(m_imageList);

  m_notebook->AddPage(CreateOptionsPanel(), _("Options"), true, 0);
  m_notebook->AddPage(CreateMaximaPanel(), _("Maxima"), false, 1);
  m_notebook->AddPage(CreateStylePanel(), _("Style"), false, 2);

#ifndef __WXMAC__
  CreateButtons(wxOK | wxCANCEL);
#endif

  LayoutDialog();

  SetProperties();
  UpdateExample();
}
Exemplo n.º 11
0
// Resize dialog if necessary
void wxPropertySheetDialog::OnIdle(wxIdleEvent& event)
{
    event.Skip();

    if ((GetSheetStyle() & wxPROPSHEET_SHRINKTOFIT) && GetBookCtrl())
    {
        int sel = GetBookCtrl()->GetSelection();
        if (sel != -1 && sel != m_selectedPage)
        {
            GetBookCtrl()->InvalidateBestSize();
            InvalidateBestSize();
            SetSizeHints(-1, -1, -1, -1);

            m_selectedPage = sel;
            LayoutDialog(0);
        }
    }
}
Exemplo n.º 12
0
// Ctor
pyuvFormatDialog::pyuvFormatDialog(wxWindow *win)
{
    frame = (pyuvFrame *)win;

    frame->GetWidthScreen() = frame->GetWidth() / frame->GetScale();
    frame->GetHeightScreen() = frame->GetHeight() / frame->GetScale();

    // Transfer all data from window children
    // Activate a contextual help
    SetExtraStyle(wxDIALOG_EX_CONTEXTHELP|wxWS_EX_VALIDATE_RECURSIVELY);

    // Create the window
    Create(win, wxID_ANY, wxT("Video sequence format"), wxDefaultPosition, wxDefaultSize,
        wxDEFAULT_DIALOG_STYLE);

    // Get the top sizer
    wxSizer* topSizer = this->GetInnerSizer();

    // Create the bottom buttons
    wxStdDialogButtonSizer* buttons = new wxStdDialogButtonSizer();
    buttons->AddButton(new wxButton(this, wxID_OK));
    buttons->AddButton(new wxButton(this, wxID_APPLY));
    buttons->AddButton(new wxButton(this, wxID_CANCEL));
    buttons->Realize();
    topSizer->Add(buttons, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5);

    // Get the notebook window
    wxBookCtrlBase* notebook = GetBookCtrl();

    // Create the main settings tab
    wxPanel* mainSettings = CreateMainSettingsPage(notebook);

    // Create the additional settings tab
    wxPanel* extraSettings = CreateExtraSettingsPage(notebook);

    // Add the tabs to the dialog
    notebook->AddPage(mainSettings, wxT("Main settings"));
    notebook->AddPage(extraSettings, wxT("Extra settings"));

    // Lay out the dialog
    LayoutDialog();
}
Exemplo n.º 13
0
bool wxRichTextFormattingDialog::Create(long flags, wxWindow* parent, const wxString& title, wxWindowID id,
        const wxPoint& pos, const wxSize& sz, long style)
{
    SetExtraStyle(wxDIALOG_EX_CONTEXTHELP|wxWS_EX_VALIDATE_RECURSIVELY);

    int resizeBorder = wxRESIZE_BORDER;

    GetFormattingDialogFactory()->SetSheetStyle(this);

    wxPropertySheetDialog::Create(parent, id, title, pos, sz,
        style | (int)wxPlatform::IfNot(wxOS_WINDOWS_CE, resizeBorder)
    );

    GetFormattingDialogFactory()->CreateButtons(this);
    GetFormattingDialogFactory()->CreatePages(flags, this);

    LayoutDialog();

    return true;
}
Exemplo n.º 14
0
/*---------------------------------------------------------------------------*/
bool wxPrefDlg::Create(wxWindow* parent, wxWindowID id, const wxString& caption,
                       const wxPoint& pos, const wxSize& size, long style)
{
   SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY|wxWS_EX_BLOCK_EVENTS);
   wxPropertySheetDialog::Create(parent, id, caption, pos, size, style);
   SetIcon(wxGetApp().GetIcon(ID_ICO_LOGO32));

   SetSheetStyle(wxPROPSHEET_TREEBOOK);
   CreateButtons(wxOK|wxCANCEL);
   CreateControls();

   ChangeFont();
   for (int i = STYLE_DEFAULT; i < STYLE_COUNT; i++)
      ChangeStyle(i);

   LayoutDialog();
   Centre();

   return true;
}
Exemplo n.º 15
0
SettingsDialog::SettingsDialog(wxWindow* win)
{
    SetExtraStyle(wxDIALOG_EX_CONTEXTHELP|wxWS_EX_VALIDATE_RECURSIVELY);

    Create(win, -1, _("Preferences"), wxDefaultPosition, wxDefaultSize,
           wxDEFAULT_DIALOG_STYLE
#ifndef __WXWINCE__
           |wxRESIZE_BORDER
#endif
          );
    CreateButtons(wxOK|wxCANCEL|wxHELP);

    wxBookCtrlBase* notebook = GetBookCtrl();

    wxPanel* generalSettings = CreateGeneralSettingsPage(notebook);
    wxPanel* aestheticSettings = CreateAestheticSettingsPage(notebook);

    notebook->AddPage(generalSettings, _("General"));
    notebook->AddPage(aestheticSettings, _("Aesthetics"));

    LayoutDialog();
}
Exemplo n.º 16
0
SettingsDialog::SettingsDialog(wxWindow* win)
: mSpinCtrlSpinner(NULL)
, mByAxis(NULL)

, mCameraHeightTextCtrl(NULL)
, mCameraAngleTextCtrl(NULL)
, mCameraFarClipPlaneTextCtrl(NULL)
, mUseRealCameraHeightCheckBox(NULL)
, mUseRealCameraAngleCheckBox(NULL)
, mSnapSpinCtrl(NULL)
, mInputSnapDegreeTxt(NULL)
, mActiveSnapCheckBox(NULL)
, mCameraMoveSpeedTextCtrl(NULL)
, mCameraRotateSpeedTextCtrl(NULL)
, mAutoSaveTextCtrl(NULL)
, mAutoSaveCheckBox(NULL)
, mOriginFov(0.0f)
, mCameraFovSpinCtrl(NULL)
{
    SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY);

    Create(win, -1, _("Configuration"), wxDefaultPosition, wxDefaultSize);
    CreateButtons(wxOK|wxCANCEL);

    wxPanel* dlgSpinner = SpinnerSetting(GetBookCtrl());
    wxPanel* dlgCamera = CameraSetting(GetBookCtrl());
    wxPanel* dlgSnap = SnapRotationSetting(GetBookCtrl());
    wxPanel* autoSavePanel = AutoSaveSettingPanel(GetBookCtrl());

    GetBookCtrl()->AddPage(dlgSpinner, _("微调设置"));
    GetBookCtrl()->AddPage(dlgCamera, _("摄象机设置"));
    GetBookCtrl()->AddPage(dlgSnap,_("旋转拆断设置"));
    GetBookCtrl()->AddPage(autoSavePanel,_("自动保存设置"));
    
    EffectEditorApp* app = (EffectEditorApp*)(wxTheApp);
    Fairy::SceneManipulator *manipulator = app->GetSceneManipulator();

    //First
    mSpinCtrlSpinner = wxDynamicCast(this->FindWindow(ID_SPINSPINNERCTRL), wxSpinCtrl);
    mByAxis = wxDynamicCast(this->FindWindow(ID_BYAXIS),wxComboBox);
    mSpinCtrlSpinner->SetValue(app->GetMainFrame()->GetSpinnerValue());
    InitByAxisCmb();
    mByAxis->SetLabel(app->GetMainFrame()->GetByAxis());
    

    //Second
    mCameraHeightTextCtrl = wxDynamicCast(this->FindWindow(ID_CAMERAHEIGHTTEXTCTRL), wxTextCtrl);
    mCameraAngleTextCtrl = wxDynamicCast(this->FindWindow(ID_CAMERAANGLETEXTCTRL),wxTextCtrl);
	mCameraFarClipPlaneTextCtrl = wxDynamicCast(this->FindWindow(ID_CAMERAFARCLIPPLANETEXTCTRL),wxTextCtrl);
    mUseRealCameraHeightCheckBox = wxDynamicCast(this->FindWindow(ID_USEREALCAMERAHEIGHTCHECKBOX),wxCheckBox);
	mUseRealCameraAngleCheckBox = wxDynamicCast(this->FindWindow(ID_USEREALCAMERAANGLECHECKBOX),wxCheckBox);

    mCameraFovSpinCtrl = wxDynamicCast(this->FindWindow(ID_CAMERAFOVSPINCTRL), wxSpinCtrl);

    mCameraMoveSpeedTextCtrl = wxDynamicCast(this->FindWindow(ID_CAMERA_MOVE_SPEED), wxTextCtrl);
    mCameraRotateSpeedTextCtrl = wxDynamicCast(this->FindWindow(ID_CAMERA_ROTATE_SPEED),wxTextCtrl);

    setDialogValue( Ogre::StringConverter::toString(manipulator->getRealCameraHeight()),
        Ogre::StringConverter::toString(manipulator->getRealCameraAngle()),
		Ogre::StringConverter::toString(manipulator->getCamera()->getFarClipDistance()),
		manipulator->getUseRealCameraHeight(),
		manipulator->getUseRealCameraAngle() );

    mUseRealCameraHeightCheckBox->SetValue(mUseRealCameraHeight);
	mUseRealCameraAngleCheckBox->SetValue(mUseRealCameraAngle);

    mCameraHeightTextCtrl->SetLabel(mCameraHeight);
    mCameraAngleTextCtrl->SetLabel(mCameraAngle);
	mCameraFarClipPlaneTextCtrl->SetLabel(mCameraFarClipPlaneValue);
    mCameraHeightTextCtrl->Enable(mUseRealCameraHeight);
    mCameraAngleTextCtrl->Enable(mUseRealCameraAngle);

    mOriginFov = manipulator->getCamera()->getFOVy().valueDegrees();

    mCameraFovSpinCtrl->SetValue(Ogre::StringConverter::toString(mOriginFov).c_str());

    mCameraMoveSpeedTextCtrl->SetValue(Ogre::StringConverter::toString(manipulator->getMoveSpeed()).c_str());
    mCameraRotateSpeedTextCtrl->SetValue(Ogre::StringConverter::toString(manipulator->getRotateSpeed()).c_str());

    //Third
    mSnapSpinCtrl = wxDynamicCast(this->FindWindow(ID_SNAPCTRL),wxSpinCtrl);
    mActiveSnapCheckBox = wxDynamicCast(this->FindWindow(ID_ACTIVESNAPCHECKBOX),wxCheckBox);
    mInputSnapDegreeTxt = wxDynamicCast(this->FindWindow(ID_INPUTSNAPDEGREE),wxTextCtrl);
    mActiveSnapCheckBox->SetValue(app->GetMainFrame()->GetActiveSnapRotation());
    mSnapSpinCtrl->SetValue(app->GetMainFrame()->GetSnapRotationValue());
    mInputSnapDegreeTxt->SetMaxLength(4);

    char strBuf[16];
    sprintf(strBuf,"%3.2f",360.0f/(float)(app->GetMainFrame()->GetSnapRotationValue()));
    mInputSnapDegreeTxt->SetValue(strBuf);
    mSnapSpinCtrl->Enable(app->GetMainFrame()->GetActiveSnapRotation());
    mInputSnapDegreeTxt->Enable(app->GetMainFrame()->GetActiveSnapRotation());

    //dlg->Destroy();

    //Four
    mAutoSaveCheckBox = wxDynamicCast(this->FindWindow(ID_CHECKBOX_AUTO_SAVE),wxCheckBox);
    mAutoSaveTextCtrl = wxDynamicCast(this->FindWindow(ID_TEXTCTRL_AUTO_SAVE_INTERVAL),wxTextCtrl);

    bool enableAutoSave = app->GetMainFrame()->getAutoSaveController()->getAutoSaveEnable();

    mAutoSaveCheckBox->SetValue(enableAutoSave);
    mAutoSaveTextCtrl->Enable(enableAutoSave);

    mAutoSaveTextCtrl->SetValue( Ogre::StringConverter::toString(app->GetMainFrame()->getAutoSaveController()->getIntervalTime()).c_str() );
    LayoutDialog();
}