void DataViewerAddColDlg::CreateControls() { wxLogMessage("DataViewerAddColDlg::CreateControls()"); SetBackgroundColour(*wxWHITE); if (time_variant && fixed_lengths) { wxXmlResource::Get()->LoadDialog(this, GetParent(), "ID_DATA_VIEWER_ADD_COL_TIME_FIXED_DLG"); } else if (time_variant && !fixed_lengths) { wxXmlResource::Get()->LoadDialog(this, GetParent(), "ID_DATA_VIEWER_ADD_COL_TIME_DLG"); } else if (!time_variant && fixed_lengths) { wxXmlResource::Get()->LoadDialog(this, GetParent(), "ID_DATA_VIEWER_ADD_COL_FIXED_DLG"); } else { // !time_variant && !fixed_lengths wxXmlResource::Get()->LoadDialog(this, GetParent(), "ID_DATA_VIEWER_ADD_COL_DLG"); } m_apply_button = wxDynamicCast(FindWindow(XRCID("wxID_OK")), wxButton); m_name = wxDynamicCast(FindWindow(XRCID("ID_TEXT_NEW_NAME")), wxTextCtrl); m_name->SetValue(default_name); wxString name_chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789"; wxTextValidator name_validator(wxFILTER_INCLUDE_CHAR_LIST); name_validator.SetCharIncludes(name_chars); m_name->SetValidator(name_validator); m_name_valid = false; m_type = wxDynamicCast(FindWindow(XRCID("ID_CHOICE_TYPE")), wxChoice); // add options for Float, Integer, String, or Date m_type->Append("real (eg 1.03, 45.7)"); m_type->Append("integer (eg -1, 0, 23)"); m_type->Append("string (eg New York)"); //m_type->Append("date (eg 20110131)"); wxStaticText* mt = wxDynamicCast(FindWindow(XRCID("ID_STATIC_INSERT_POS")), wxStaticText); m_insert_pos = wxDynamicCast(FindWindow(XRCID("ID_CHOICE_INSERT_POS")), wxChoice); //if ( !project->IsFileDataSource()) { // mt->Disable(); // m_insert_pos->Disable(); //} m_displayed_decimals_lable = wxDynamicCast(FindWindow(XRCID("ID_STATIC_DISPLAYED_DECIMALS")), wxStaticText); m_displayed_decimals = wxDynamicCast(FindWindow(XRCID("ID_DISPLAYED_DECIMALS")), wxChoice); m_displayed_decimals->Append("default"); m_displayed_decimals->Append("1"); m_displayed_decimals->Append("2"); m_displayed_decimals->Append("3"); m_displayed_decimals->Append("4"); m_displayed_decimals->Append("5"); m_displayed_decimals->Append("6"); m_displayed_decimals->Append("7"); m_displayed_decimals->Append("8"); m_displayed_decimals->Append("9"); m_displayed_decimals->Append("10"); if (fixed_lengths) { m_length_lable = wxDynamicCast(FindWindow(XRCID("ID_STATIC_LENGTH")), wxStaticText); m_length = wxDynamicCast(FindWindow(XRCID("ID_TEXT_LENGTH")), wxTextCtrl); m_length->SetValidator(wxTextValidator(wxFILTER_DIGITS)); m_length_valid = true; m_decimals_lable = wxDynamicCast(FindWindow(XRCID("ID_STATIC_DECIMALS")), wxStaticText); m_decimals = wxDynamicCast(FindWindow(XRCID("ID_TEXT_DECIMALS")), wxTextCtrl); m_decimals->SetValidator(wxTextValidator(wxFILTER_DIGITS)); m_decimals_valid = true; m_max_label = wxDynamicCast(FindWindow(XRCID("ID_STATIC_MAX_LABEL")), wxStaticText); m_max_val = wxDynamicCast(FindWindow(XRCID("ID_STATIC_MAX_VAL")), wxStaticText); m_min_label = wxDynamicCast(FindWindow(XRCID("ID_STATIC_MIN_LABEL")), wxStaticText); m_min_val = wxDynamicCast(FindWindow(XRCID("ID_STATIC_MIN_VAL")), wxStaticText); } if (default_field_type == GdaConst::double_type) { m_type->SetSelection(0); } else if (default_field_type == GdaConst::long64_type) { m_type->SetSelection(1); } else if (default_field_type == GdaConst::string_type) { m_type->SetSelection(2); } else if (default_field_type == GdaConst::date_type) { m_type->SetSelection(3); } else { m_type->SetSelection(0); } Connect(XRCID("ID_TEXT_NEW_NAME"), wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(DataViewerAddColDlg::OnOkClick)); Connect(XRCID("ID_TEXT_LENGTH"), wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(DataViewerAddColDlg::OnOkClick)); Connect(XRCID("ID_TEXT_DECIMALS"), wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(DataViewerAddColDlg::OnOkClick)); CheckName(); SetDefaultsByType(default_field_type); }
void DataViewerAddColDlg::CreateControls() { if (grid_base->IsTimeVariant()) { wxXmlResource::Get()->LoadDialog(this, GetParent(), "ID_DATA_VIEWER_ADD_COL_TIME_DLG"); } else { wxXmlResource::Get()->LoadDialog(this, GetParent(), "ID_DATA_VIEWER_ADD_COL_DLG"); } m_apply_button = wxDynamicCast(FindWindow(XRCID("wxID_OK")), wxButton); m_name = wxDynamicCast(FindWindow(XRCID("ID_TEXT_NEW_NAME")), wxTextCtrl); m_name->SetValue(default_name); wxString name_chars="abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789"; wxTextValidator name_validator(wxFILTER_INCLUDE_CHAR_LIST); name_validator.SetCharIncludes(name_chars); m_name->SetValidator(name_validator); m_name_valid = false; m_time_inv_no = 0; m_time_inv_yes = 0; if (FindWindow(XRCID("ID_TIME_INV_NO"))) { m_time_inv_no = wxDynamicCast(FindWindow(XRCID("ID_TIME_INV_NO")), wxRadioButton); m_time_inv_yes = wxDynamicCast(FindWindow(XRCID("ID_TIME_INV_YES")), wxRadioButton); m_time_inv_no->SetValue(time_inv_no_as_default); m_time_inv_yes->SetValue(!time_inv_no_as_default); m_time_inv_no->Enable(can_change_time_inv); m_time_inv_yes->Enable(can_change_time_inv); } m_type = wxDynamicCast(FindWindow(XRCID("ID_CHOICE_TYPE")), wxChoice); // add options for Float, Integer, String, or Date m_type->Append("real (eg 1.03, 45.7)"); m_type->Append("integer (eg -1, 0, 23)"); m_type->Append("string (eg New York)"); m_type->Append("date (eg 20110131)"); m_insert_pos = wxDynamicCast(FindWindow(XRCID("ID_CHOICE_INSERT_POS")), wxChoice); m_length_lable = wxDynamicCast(FindWindow(XRCID("ID_STATIC_LENGTH")), wxStaticText); m_length = wxDynamicCast(FindWindow(XRCID("ID_TEXT_LENGTH")), wxTextCtrl); m_length->SetValidator(wxTextValidator(wxFILTER_DIGITS)); m_length_valid = true; m_decimals_lable = wxDynamicCast(FindWindow(XRCID("ID_STATIC_DECIMALS")), wxStaticText); m_decimals = wxDynamicCast(FindWindow(XRCID("ID_TEXT_DECIMALS")), wxTextCtrl); m_decimals->SetValidator(wxTextValidator(wxFILTER_DIGITS)); m_decimals_valid = true; m_displayed_decimals_lable = wxDynamicCast(FindWindow(XRCID("ID_STATIC_DISPLAYED_DECIMALS")), wxStaticText); m_displayed_decimals = wxDynamicCast(FindWindow(XRCID("ID_TEXT_DISPLAYED_DECIMALS")), wxTextCtrl); m_displayed_decimals->SetValidator(wxTextValidator(wxFILTER_DIGITS)); m_displayed_decimals_valid = true; m_max_label = wxDynamicCast(FindWindow(XRCID("ID_STATIC_MAX_LABEL")), wxStaticText); m_max_val = wxDynamicCast(FindWindow(XRCID("ID_STATIC_MAX_VAL")), wxStaticText); m_min_label = wxDynamicCast(FindWindow(XRCID("ID_STATIC_MIN_LABEL")), wxStaticText); m_min_val = wxDynamicCast(FindWindow(XRCID("ID_STATIC_MIN_VAL")), wxStaticText); m_type->SetSelection(0); UpdateApplyButton(); CheckName(); SetDefaultsByType(GeoDaConst::double_type); }