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

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

// Filename   : mover.h
// Last Change: 2020-05-14 –Ø 17:11:37.
//
#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/listctrl.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/button.h>
#include <wx/spinctrl.h>
#include <wx/sizer.h>
#include <wx/checkbox.h>
#include <wx/frame.h>
#include <wx/dataview.h>
#include <wx/statbmp.h>
#include <wx/textctrl.h>
#include <wx/datectrl.h>
#include <wx/dateevt.h>
#include <wx/choice.h>
#include <wx/gbsizer.h>

/* marksheet rect */
#define MS_X 1340
#define MS_Y  324
#define MS_W  596
#define MS_H  509

/* lookin-window width & height */
#define HNAME_WW 288
#define HNAME_WH  86
#define HNO_WW   288
#define HNO_WH    49

/* sub image size */
#define HNAME_X 238
#define HNAME_Y 540
#define HNAME_W 656
#define HNAME_H 170
#define HNO_X 1340
#define HNO_Y  238
#define HNO_W  600
#define HNO_H   94

/* thumbnail size */
#define THUMB_W 115
#define THUMB_H 155

/* right pane size */
#define RIGHT_W  940
#define RIGHT_H1 100
#define RIGHT_H2 220

WX_DECLARE_STRING_HASH_MAP(wxString, HhsHash);

class MoveFrame : public wxFrame
{
	private:
		HhsHash       m_hhash;
		wxArrayString m_sss;
		wxString      m_addr, m_port;
		int           m_offx, m_offy;
		wxString      m_maxhno;
		wxString      m_curms;	// current marksheet

	protected:
		wxDirPickerCtrl* m_dirPicker;
		wxButton*        m_buttonAuto;
		wxSpinCtrl*      m_spinCtrlUD;
		wxSpinCtrl*      m_spinCtrlLR;
		wxCheckBox*      m_checkBox;

		wxDataViewListCtrl* m_dataViewListCtrl;
		wxDataViewColumn*   m_dataViewListColumnNo;
		wxDataViewColumn*   m_dataViewListColumnHno;
		wxDataViewColumn*   m_dataViewListColumnName;
		wxDataViewColumn*   m_dataViewListColumnChecked;

		wxStaticBitmap* m_bitmapName;
		wxTextCtrl*     m_textCtrlName;

		wxStaticBitmap* m_bitmapHno;
		wxTextCtrl*     m_textCtrlHno;
		wxStaticText*   m_staticTextHnoMsg;

		wxListView* m_listViewThumb;

		wxStaticBitmap* m_bitmapTk;
		wxStaticBitmap* m_bitmapIk;

		wxStaticText*     m_staticTextDate;
		wxDatePickerCtrl* m_datePicker;
		wxStaticText*     m_staticTextCcn;
		wxChoice*         m_choiceCcn;
		wxButton*         m_buttonSave;
		wxTextCtrl*       m_textCtrlMsg;

		virtual void OnKey(wxKeyEvent& event);
		virtual void OnAuto(wxCommandEvent& event);
		virtual void OnListChar(wxKeyEvent& event);
		virtual void OnSelect(wxDataViewEvent& event);
		virtual void OnName(wxCommandEvent& event);
		virtual void OnHnoChar(wxKeyEvent& event);
		virtual void OnHno(wxCommandEvent& event);
		virtual void OnCheck(wxCommandEvent& event);
		virtual void OnSave(wxCommandEvent& event);
		virtual void OnThumbDeselected(wxListEvent& event);
		virtual void OnThumbSelected(wxListEvent& event);
		virtual void OnThumbDClick(wxListEvent& event);

		void CreateControls();
		void InitializeControlsValue();
		void LoadDefaultImages();
		void LoadDB();
		void AutoDetect();
		void SelectItem(int r);
		void ThumbnailPaper();
		wxString AnalizeHhsno(wxString file, int offx, int offy);
		void MoveLookWin(int x, int y);

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