Esempio n. 1
0
void DataViewerAddColDlg::OnChoiceType( wxCommandEvent& ev )
{
    wxLogMessage("In DataViewerAddColDlg::OnChoiceType()");
    
	switch (ev.GetSelection()) {
		case 0:
			if (cur_type == GdaConst::double_type) return;
			SetDefaultsByType(GdaConst::double_type);
			break;
		case 1:
			if (cur_type == GdaConst::long64_type) return;
			SetDefaultsByType(GdaConst::long64_type);
			break;
		case 2:
			if (cur_type == GdaConst::string_type) return;
			SetDefaultsByType(GdaConst::string_type);
			break;
		case 3:
			if (cur_type == GdaConst::date_type) return;
			SetDefaultsByType(GdaConst::date_type);
			break;
		default:
			// should never get here!
			SetDefaultsByType(GdaConst::double_type);
	}
	
}
Esempio n. 2
0
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);
}