view src/kaigo/horori/searcher/include/searcher.h @ 49:8384ca56f1b4

small changes.
author pyon@macmini
date Thu, 23 Apr 2020 22:54:58 +0900
parents ca00c4a85b98
children 638e1ad05cae
line wrap: on
line source

// Filename   : searcher.h
// Last Change: 2020-04-23 木 16:23:44.
//
#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/listctrl.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/dateevt.h>
#include <wx/notebook.h>
#include <wx/srchctrl.h>
#include <wx/statline.h>
#include <wx/datectrl.h>
#include <wx/filepicker.h>
#include <wx/spinctrl.h>
#include <wx/choice.h>
#include <wx/listbox.h>
#include <wx/checkbox.h>
#include <wx/gauge.h>
#include <wx/scrolwin.h>
#include <wx/gbsizer.h>

class SearchFrame;

class MyStaticBitmap : public wxStaticBitmap
{
	private:
        int m_dragx, m_dragy;	// for image drag
		int cx, cy;             // for mouse-gesture
		//bool with_stl = false;
		wxScrolledWindow* m_parent;
		wxNotebook*       m_parent1;
		SearchFrame*      m_parent2;

	public:
		int zoom = 0;

	public:
        MyStaticBitmap(wxScrolledWindow *parent, wxWindowID id, const wxBitmap &label, const wxPoint &pos, const wxSize &size, long style, const wxString &name);
        ~MyStaticBitmap();

        void OnLeftDown(wxMouseEvent& event);
        void OnLeftUp(wxMouseEvent& event);
        void OnLeftDClick(wxMouseEvent& event);
        void OnRightDClick(wxMouseEvent& event);
		void OnStartRGesture(wxMouseEvent& event);
		void OnEndRGesture(wxMouseEvent& event);
        void OnMotion(wxMouseEvent& event);
        void OnWheel(wxMouseEvent& event);

		void ChangeBook(int i);
		void SetParentWidows(SearchFrame *sf, wxNotebook *nb) {m_parent2 = sf; m_parent1 = nb;};
		void ParentWinGetSize(int *ww, int *wh) {m_parent->GetSize(ww, wh);};
		void ParentWinScroll(int x, int y) {m_parent->Scroll(x, y);};
		void ParentWinSetScrollbars(int x, int y, int s, int t) {m_parent->SetScrollbars(x, y, s, t);};
};

class SearchFrame : public wxFrame
{
	private:
		wxString m_workdir;
		wxString m_hhscsv;
		wxString m_addr, m_port;
		wxRect m_mask1, m_mask2, m_mask3;
		int m_searchmode;
		wxArrayString m_hist;
		wxString m_user, m_usergroup;

        MyStaticBitmap* m_staticBitmap1;
        MyStaticBitmap* m_staticBitmap2;
        MyStaticBitmap* m_staticBitmap3;
        MyStaticBitmap* m_staticBitmap4;
        MyStaticBitmap* m_staticBitmap5;

	protected:
		wxNotebook*       m_notebook;

		wxScrolledWindow* m_scrolledWindow1;
		wxScrolledWindow* m_scrolledWindow2;
		wxScrolledWindow* m_scrolledWindow3;
		wxScrolledWindow* m_scrolledWindow4;
		wxScrolledWindow* m_scrolledWindow5;
		wxPanel*          m_panelBatch;
		wxPanel*          m_panelMainte;

		// Batch-Print
		wxFilePickerCtrl*   m_filePicker;
		wxButton*           m_buttonRead;
		wxDataViewListCtrl* m_dataViewListCtrlBatch;
		wxDataViewColumn*   m_dataViewListColumnBPNo;
		wxDataViewColumn*   m_dataViewListColumnBPHno;
		wxDataViewColumn*   m_dataViewListColumnBPName;
		wxDataViewColumn*   m_dataViewListColumnBPDate;
		wxDataViewColumn*   m_dataViewListColumnOnlyIk;
		wxDataViewColumn*   m_dataViewListColumnProgress;
		wxDataViewColumn*   m_dataViewListColumnDummy;

		// Index
		wxStaticText* m_staticTextIndex;
		wxStaticText* m_staticTextDrive;
		wxStaticText* m_staticTextYear;
		wxStaticText* m_staticTextDate;
		wxStaticText* m_staticTextCcn;
		wxStaticText* m_staticTextData;

		wxStaticText*       m_staticTextDB;
		wxChoice*           m_choiceIdxYear;
		wxDataViewListCtrl* m_dataViewListCtrlIdxDate;
		wxDataViewColumn*   m_dataViewListColumnIdxDateNo;
		wxDataViewColumn*   m_dataViewListColumnIdxDate;
		wxStaticText*       m_staticTextIdxCcn;
		wxDataViewListCtrl* m_dataViewListCtrlIdx;
		wxDataViewColumn*   m_dataViewListColumnIdxNo;
		wxDataViewColumn*   m_dataViewListColumnIdxHno;
		wxDataViewColumn*   m_dataViewListColumnIdxName;
		// -
		wxChoice*           m_choiceDrv;
		wxChoice*           m_choiceDrvYear;
		wxDataViewListCtrl* m_dataViewListCtrlDrvDate;
		wxDataViewColumn*   m_dataViewListColumnDrvDateNo;
		wxDataViewColumn*   m_dataViewListColumnDrvDate;
		wxDataViewListCtrl* m_dataViewListCtrlDrvCcn;
		wxDataViewColumn*   m_dataViewListColumnDrvCcnNo;
		wxDataViewColumn*   m_dataViewListColumnDrvCcn;
		wxDataViewListCtrl* m_dataViewListCtrlDrv;
		wxDataViewColumn*   m_dataViewListColumnDrvNo;
		wxDataViewColumn*   m_dataViewListColumnDrvHno;
		wxDataViewColumn*   m_dataViewListColumnDrvName;

		wxStaticLine* m_staticline;

		wxStaticText*     m_staticTextDBmainte;
		wxStaticText*     m_staticTextHhsDB;
		wxFilePickerCtrl* m_filePickerHhsDB;
		wxButton*         m_buttonRegHhs;
		wxTextCtrl*       m_textCtrlLastHhsDB;

		wxStaticText*     m_staticTextRegImg;
		wxDatePickerCtrl* m_datePicker;
		wxButton*         m_buttonRegImg;
		wxTextCtrl*       m_textCtrlLastIndex;

		// Right-Pane
		wxSearchCtrl*       m_searchCtrl;
		wxButton*           m_buttonHist;
		wxTextCtrl*         m_textCtrlName;
		wxTextCtrl*         m_textCtrlAddr;
		wxDataViewListCtrl* m_dataViewListCtrlAny;
		wxDataViewColumn*   m_dataViewListColumnAnyNo;
		wxDataViewColumn*   m_dataViewListColumnAny1;	// ymd, hno,  kana
		wxDataViewColumn*   m_dataViewListColumnAny2;	// -,   name, name
		wxDataViewColumn*   m_dataViewListColumnAny3;	// -,   -,    addr
		wxDataViewColumn*   m_dataViewListColumnAny4;	// -,   -,    hno
		wxCheckBox*         m_checkBoxMask;
		wxCheckBox*         m_checkBoxBoth;
		wxButton*           m_buttonPrint;
		wxSpinCtrl*         m_spinCtrl;
		wxGauge*            m_gauge;
		wxTextCtrl*         m_textCtrlPasswd;

		// Virtual event handlers, overide them in your derived class
		virtual void OnPageChanged(wxNotebookEvent& event);

		virtual void OnFile(wxFileDirPickerEvent& event);
		virtual void OnRead(wxCommandEvent& event);

		virtual void OnSelectBatchListCtrlA(wxKeyEvent& event);
		virtual void OnSelectBatchDClicked(wxDataViewEvent& event);

		virtual void OnIdxYearChoice(wxCommandEvent& event);
		virtual void OnIdxDateSelected(wxDataViewEvent& event);
		virtual void OnIdxDClicked(wxDataViewEvent& event);

		virtual void OnDrvYearChoice(wxCommandEvent& event);
		virtual void OnDrvDateSelected(wxDataViewEvent& event);
		virtual void OnDrvDateDClicked(wxDataViewEvent& event);
		virtual void OnDrvCcnSelected(wxDataViewEvent& event);
		virtual void OnDrvCcnDClicked(wxDataViewEvent& event);
		virtual void OnDrvDClicked(wxDataViewEvent& event);

		virtual void OnUploadHhsDB(wxCommandEvent& event);
		virtual void OnUploadImage(wxCommandEvent& event);

		virtual void OnChar(wxKeyEvent& event);
		virtual void OnHist(wxCommandEvent& event);
		virtual void OnSelectAnyListItem(wxDataViewEvent& event);
		virtual void OnPrint(wxCommandEvent& event);
		virtual void OnPassword(wxCommandEvent& event);

		virtual void OnClose(wxCloseEvent& event);

		void CreateControls();
		void InitializeControlsValue();
		void SetHhsInfo(wxString h);
		void SetListAny(wxString s);
		void SetImages();
		void LoadBookImage(MyStaticBitmap& mysb, wxString file);
		void LoadBookImages();
		void ReadCSV();
		void RemoveTemp();
		void MaskImage1();

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