view src/kaigo/horori/eraline/include/geraline.h @ 59:48e46bfe97fa

kaigo: pre-release eraline.
author pyon@macmini
date Wed, 12 Aug 2020 19:57:58 +0900
parents 62ae9daac43a
children
line wrap: on
line source

// Filename   : geraline.h
// Last Change: 2020-08-12  15:35:35.
//
#pragma once

#include <wx/frame.h>
#include <wx/gbsizer.h>
#include <wx/sizer.h>
#include <wx/button.h>
#include <wx/filepicker.h>
#include <wx/statbmp.h>
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/grid.h>
#include <wx/spinctrl.h>
#include <wx/scrolwin.h>
#include <wx/dataview.h>
#include <wx/bitmap.h>
#include <wx/image.h>

class EralineFrame : public wxFrame
{
	private:
		wxString m_file;
		wxImage  m_image;
		int m_x0, m_y0, m_x1, m_y1;

	protected:
		wxStaticText*       m_staticTextInDir;
		wxStaticText* 		m_staticTextList;
		wxStaticText* 		m_staticTextThumb;
		wxStaticBitmap* 	m_bitmapLogo;
		wxDirPickerCtrl* 	m_dirPickerInDir;
		wxDataViewListCtrl* m_dataViewListCtrl;
		wxDataViewColumn* 	m_dataViewListColumnName;
		wxDataViewColumn* 	m_dataViewListColumnSize;
		wxDataViewColumn* 	m_dataViewListColumnTime;
		wxStaticBitmap* 	m_bitmapThumb;
		wxStaticText*  		m_staticTextZoom;
		wxScrolledWindow*   m_scrolledWindow;
		wxStaticBitmap* 	m_bitmapZoom;
		wxStaticText*		m_staticTextDot;
		wxStaticText*		m_staticTextY;
		wxStaticText*		m_staticTextH;
		wxStaticText*		m_staticTextOutDir;
		wxStaticText*		m_staticTextMsg;
		wxGrid*				m_gridView;
		wxSpinCtrl* 		m_spinCtrlY;
		wxSpinCtrl* 		m_spinCtrlH;
		wxDirPickerCtrl* 	m_dirPickerOutDir;
		wxTextCtrl* 		m_textCtrlMsg;
		wxTextCtrl* 		m_textCtrlRGB;
		wxButton* 			m_buttonErase;

		// Virtual event handlers, overide them in your derived class
		virtual void OnSize(wxSizeEvent& event);
		virtual void OnItemSelected(wxDataViewEvent& event);
		virtual void OnInDirChanged(wxFileDirPickerEvent& event);
		virtual void OnThumbDClicked(wxMouseEvent& event);
		virtual void OnZoomDClicked(wxMouseEvent& event);
		virtual void OnRangeSelect(wxGridRangeSelectEvent& event);
		/*
		virtual void OnSpinY(wxSpinEvent& event ) { event.Skip(); }
		virtual void OnSpinYText(wxCommandEvent& event);
		virtual void OnSpinH(wxSpinEvent& event );
		virtual void OnSpinHText(wxCommandEvent& event);
		*/
		virtual void OnErase(wxCommandEvent& event);

	public:
		EralineFrame(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(800,800), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL);
		~EralineFrame();

		void CreateControls();
		void LoadFile();
		void ViewDot();
};