Mercurial > mercurial > hgweb_qlipbrd.cgi
view src/adddialog.cpp @ 3:fd4361d2cbbd default tip
add remember function.
author | pyon@macmini |
---|---|
date | Thu, 24 Sep 2015 07:45:26 +0900 |
parents | e4aa0e7a07ad |
children |
line wrap: on
line source
// Filename: adddialog.cpp // Last Change: 2015-09-23 Wed 19:59:41. // #include <wx/valgen.h> #include <wx/valtext.h> #include "adddialog.h" AddDialog::AddDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) { this->SetSizeHints( wxDefaultSize, wxDefaultSize ); wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL ); m_staticText = new wxStaticText( this, wxID_ANY, wxT("Specify Empty text to Use user input(Ctrl-c).\nDescription is option."), wxDefaultPosition, wxDefaultSize, 0 ); bSizerTop->Add( m_staticText, 0, wxALL|wxEXPAND, 5 ); // wxFlexGridSizer* fgSizer = new wxFlexGridSizer( 0, 3, 0, 0 ); fgSizer->SetFlexibleDirection( wxBOTH ); fgSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); // Text m_staticTextText = new wxStaticText( this, wxID_ANY, wxT("Text"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextText, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); m_textCtrlText = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_textCtrlText, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_staticTextText2 = new wxStaticText( this, wxID_ANY, wxT("Strings to paste"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextText2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); // Overwrite m_staticTextOverwrite = new wxStaticText( this, wxID_ANY, wxT("Overwrite"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextOverwrite, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 ); m_checkBoxOverwrite = new wxCheckBox( this, ID_CKOW, wxT("allow change"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_checkBoxOverwrite, 0, wxALL, 5 ); m_staticTextOverwrite2 = new wxStaticText( this, wxID_ANY, wxT("Check if allow change by user"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextOverwrite2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); // Max Live Time m_staticTextMaxLive = new wxStaticText( this, wxID_ANY, wxT("Max LT"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextMaxLive, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); m_spinCtrlMaxLive = new wxSpinCtrl( this, ID_SPNML, wxT("5"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 28800, 0 ); fgSizer->Add( m_spinCtrlMaxLive, 0, wxALL, 5 ); m_staticTextMaxLive2 = new wxStaticText( this, wxID_ANY, wxT("Maximum live time"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextMaxLive2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); // Max Active Time m_staticTextMaxActive = new wxStaticText( this, wxID_ANY, wxT("Max AT"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextMaxActive, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); m_spinCtrlMaxActive = new wxSpinCtrl( this, ID_SPNMA, wxT("5"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 28800, 0 ); fgSizer->Add( m_spinCtrlMaxActive, 0, wxALL, 5 ); m_staticTextMaxActive2 = new wxStaticText( this, wxID_ANY, wxT("Maximum active time"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextMaxActive2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); // Remember m_staticTextRemember = new wxStaticText( this, wxID_ANY, wxT("Remember"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextRemember, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 ); m_checkBoxRemember = new wxCheckBox( this, ID_CKOW, wxT("reserve text"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_checkBoxRemember, 0, wxALL, 5 ); m_staticTextRemember2 = new wxStaticText( this, wxID_ANY, wxT("Check if add text to history"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextRemember2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); // Description m_staticTextDesc = new wxStaticText( this, wxID_ANY, wxT("Desc"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextDesc, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); m_textCtrlDesc = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_textCtrlDesc, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_staticTextDesc2 = new wxStaticText( this, wxID_ANY, wxT("Description"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer->Add( m_staticTextDesc2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); bSizerTop->Add( fgSizer, 1, wxEXPAND, 5 ); // Buttons wxBoxSizer* bSizerBtn = new wxBoxSizer( wxHORIZONTAL ); m_buttonAdd = new wxButton( this, wxID_OK, wxT("Add"), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonAdd->SetDefault(); bSizerBtn->Add( m_buttonAdd, 0, wxALL, 5 ); m_buttonCancel = new wxButton( this, wxID_CANCEL, wxT("Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); bSizerBtn->Add( m_buttonCancel, 0, wxALL, 5 ); bSizerTop->Add( bSizerBtn, 0, wxALIGN_RIGHT, 5 ); this->SetSizer( bSizerTop ); this->Layout(); bSizerTop->Fit( this ); this->Centre( wxBOTH ); Init(); SetValidators(); } AddDialog::~AddDialog() { } // Event Table BEGIN_EVENT_TABLE( AddDialog, wxDialog ) EVT_CHECKBOX( ID_CKOW, AddDialog::OnCheckOverwrite ) END_EVENT_TABLE() /* Event Handlers & Functions */ // Event Handlers void AddDialog::OnCheckOverwrite( wxCommandEvent& event ) { if ( event.IsChecked() ) { m_textCtrlText->Enable( false ); m_textCtrlText->SetValue( wxEmptyString ); m_spinCtrlMaxLive->Enable( true ); } else { m_textCtrlText->Enable( true ); m_textCtrlText->SetValue( wxT("Something") ); m_spinCtrlMaxLive->Enable( false ); } } // Functions void AddDialog::Init() { m_text = wxT("Something"); m_owrite = false; m_maxat = 5; m_maxlt = 20; m_remember = false; m_desc = wxEmptyString; m_spinCtrlMaxLive->Enable( false ); } void AddDialog::SetValidators() { m_textCtrlText->SetValidator( wxTextValidator( wxFILTER_NONE, &m_text ) ); m_checkBoxOverwrite->SetValidator( wxGenericValidator( &m_owrite ) ); m_spinCtrlMaxLive->SetValidator( wxGenericValidator( &m_maxlt ) ); m_spinCtrlMaxActive->SetValidator( wxGenericValidator( &m_maxat ) ); m_checkBoxRemember->SetValidator( wxGenericValidator( &m_remember ) ); m_textCtrlDesc->SetValidator( wxTextValidator( wxFILTER_NONE, &m_desc ) ); }