view include/mainframe.h @ 1:e4aa0e7a07ad

Second release.
author pyon@macmini
date Sun, 13 Sep 2015 14:56:42 +0900
parents cb3403ca39b1
children
line wrap: on
line source

// Filename: mainframe.h
// Last Change: 2015-09-13 Sun 13:44:36.
//
#ifndef __MAINFRAME_H__
#define __MAINFRAME_H__

#include <wx/listctrl.h>
#include <wx/listbox.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/string.h>
#include <wx/stattext.h>
#include <wx/button.h>
#include <wx/tglbtn.h>
#include <wx/sizer.h>
#include <wx/icon.h>
#include <wx/menu.h>
#include <wx/frame.h>
#include <wx/timer.h>

#include "qdata.h"
WX_DECLARE_HASH_MAP( int, QlipData*, wxIntegerHash, wxIntegerEqual, QlipDataHash );

class MainFrame : public wxFrame 
{
    DECLARE_EVENT_TABLE()
	private:
        wxTimer      m_timer;
        int          m_current;
        int          m_counter;
        int          m_period;
        bool         m_bottom;
        QlipDataHash QH;
	
	protected:
		enum
		{
			ID_MNAPPDIR = wxID_HIGHEST + 1,
			ID_MNINTERVAL,
			ID_MNABOUT,
			ID_MNEXIT,
			ID_MNLDPGIN,
			ID_MNSVPGIN,

            ID_TIMER,
			ID_TGL,
            ID_LISTVIEW,
            ID_LISTBOX,

			ID_BTNUP,
			ID_BTNDOWN,
			ID_BTNDEL,
			ID_BTNADD,
            ID_EXIT,
		};
		
		wxMenuBar* m_menubar;
		wxMenu*    m_menuFile;
		wxMenu*    m_menuPlugin;

        wxTextCtrl*     m_textCtrlShow;
        wxTextCtrl*     m_textCtrlRemain;
		wxToggleButton* m_toggleBtn;
	
        wxStaticText* m_staticTextCycle;
		wxListView*   m_lisViewCycle;
        wxStaticText* m_staticTextHist;
		wxListBox*    m_listBoxHist;

		wxButton*   m_buttonUp;
		wxButton*   m_buttonDown;
		wxButton*   m_buttonDel;
		wxButton*   m_buttonAdd;
		wxButton*   m_buttonExit;

	public:
		MainFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style );
		~MainFrame();

        // Event Handlers
        void OnMNAppdir( wxCommandEvent& );
        void OnMNInterval( wxCommandEvent& );
        void OnMNAbout( wxCommandEvent& );
        void OnMNExit( wxCommandEvent& );
        void OnMNLoad( wxCommandEvent& );
        void OnMNSaveAs( wxCommandEvent& );

        void OnLViewDClickItem( wxListEvent& );
        void OnLViewSelectItem( wxListEvent& );
        void OnLBoxDClickItem( wxCommandEvent& );

        void OnToggle( wxCommandEvent& );
        void OnTimer( wxTimerEvent& );

        void OnBtnUp( wxCommandEvent& );
        void OnBtnDown( wxCommandEvent& );
        void OnBtnDel( wxCommandEvent& );
        void OnBtnAdd( wxCommandEvent& );
        void OnBtnExit( wxCommandEvent& );

        // Functions
        void EnableButtons( bool );
        void SwapListItem( long, long );
        void ReNumberList();
        int  CreateID();
        void AddStackTime();
        void UpdateView();
        void UpdateHistory( wxString );
        int  GetEmptyStack();
        int  ToInt( wxString );
};

#endif //__MAINFRAME_H__