view src/kaigo/horori/merger/include/merger.h @ 64:ad5c30ee5cf1

horori: add manual.
author pyon@macmini
date Fri, 25 Dec 2020 20:48:01 +0900
parents 8384ca56f1b4
children
line wrap: on
line source

// Filename   : merger.h
// Last Change: 2020-04-23 –Ø 08:17:25.
//
#pragma once

#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/string.h>
#include <wx/stattext.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/filepicker.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/button.h>
#include <wx/sizer.h>
#include <wx/frame.h>
#include <wx/dataview.h>
#include <wx/statbmp.h>
#include <wx/textctrl.h>
#include <wx/listctrl.h>
#include <wx/datectrl.h>
#include <wx/dateevt.h>
#include <wx/choice.h>
#include <wx/gbsizer.h>

#include "lookwin.h"

class MergeFrame : public wxFrame
{
	private:
		wxString m_workdir;
		wxString m_csv;
		int m_zoom;

		wxRect m_rectSplLWin;
		wxRect m_rectOpn1LWin;
		wxRect m_rectOpn2LWin;

		wxRect m_rectSplMask;
		wxRect m_rectOpn1Mask;
		wxRect m_rectOpn2Mask;
		wxRect m_rectOpn3Mask;

	protected:
		enum {
			ID_NEXT = 1000,
		};

		wxStaticText*     m_staticTextCSV;
		wxFilePickerCtrl* m_filePicker;
		wxGauge*          m_gauge;

		wxStaticText*   m_staticTextSpl;
		LookWindow*     m_lookwinSpl;

		wxStaticText*   m_staticTextOpn1;
		LookWindow*     m_lookwinOpn1;

		wxStaticText*   m_staticTextOpn2;
		LookWindow*     m_lookwinOpn2;

		wxButton*       m_buttonAclS;
		wxButton*       m_buttonSet;

		wxStaticText* m_staticTextMask;
		wxDataViewListCtrl* m_dataViewListCtrlParam;
		wxDataViewColumn* m_dataViewListColumnNo;
		wxDataViewColumn* m_dataViewListColumnHno;
		wxDataViewColumn* m_dataViewListColumnName;
		wxDataViewColumn* m_dataViewListColumnX1;
		wxDataViewColumn* m_dataViewListColumnY1;
		wxDataViewColumn* m_dataViewListColumnW1;
		wxDataViewColumn* m_dataViewListColumnH1;
		wxDataViewColumn* m_dataViewListColumnX2;
		wxDataViewColumn* m_dataViewListColumnY2;
		wxDataViewColumn* m_dataViewListColumnW2;
		wxDataViewColumn* m_dataViewListColumnH2;
		wxDataViewColumn* m_dataViewListColumnX3;
		wxDataViewColumn* m_dataViewListColumnY3;
		wxDataViewColumn* m_dataViewListColumnW3;
		wxDataViewColumn* m_dataViewListColumnH3;
		wxDataViewColumn* m_dataViewListColumnX4;
		wxDataViewColumn* m_dataViewListColumnY4;
		wxDataViewColumn* m_dataViewListColumnW4;
		wxDataViewColumn* m_dataViewListColumnH4;
		wxDataViewColumn* m_dataViewListColumnTime;

		wxButton* m_buttonWrite;
		wxButton* m_buttonPrint;
		wxButton* m_buttonPrintAll;

		// Virtual event handlers, overide them in your derived class
		virtual void OnFileChanged(wxFileDirPickerEvent& event);
		virtual void OnMaskLocSet(wxCommandEvent& event);
		virtual void OnSelectData(wxDataViewEvent& event);
		virtual void OnWrite(wxCommandEvent& event);
		virtual void OnPrint(wxCommandEvent& event);
		virtual void OnPrintAll(wxCommandEvent& event);
		virtual void OnAclS(wxCommandEvent& event);

		void CreateControls();
		void InitializeControlsValue();
		void SetAccelerator();
		void LoadDefaultParams();
		void MaskLocSet();
		void ShowImages();
		void SaveParams();
		void DoRealMask(wxString file, wxString maskfile, wxRect mask1, wxRect mask2);
		void GetItemMaskLoc(int r, wxRect* mask1, wxRect* mask2, wxRect* mask3, wxRect* mask4);

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