diff src/kaigo/horori/searcher/include/searcher.h @ 45:20b42e2deae1

add alloc, (new)mover, merger & (new)searcher.
author pyon@macmini
date Thu, 16 Apr 2020 20:59:35 +0900
parents
children 6ec28d3c3e00
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/kaigo/horori/searcher/include/searcher.h	Thu Apr 16 20:59:35 2020 +0900
@@ -0,0 +1,195 @@
+// Filename   : searcher.h
+// Last Change: 2020-04-16 木 16:10: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/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/scrolwin.h>
+#include <wx/gbsizer.h>
+
+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;
+
+	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 WithSatellite( bool sw ) { with_stl = sw; };
+		*/
+		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_addr, m_port;
+		wxRect m_mask1, m_mask2, m_mask3;
+		int m_searchmode;
+		wxArrayString m_hist;
+
+        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_staticTextData;
+
+		wxStaticText* m_staticTextDB;
+		wxChoice*           m_choiceIdxYear;
+		wxDataViewListCtrl* m_dataViewListCtrlIdxDate;
+		wxDataViewColumn*   m_dataViewListColumnIdxDateNo;
+		wxDataViewColumn*   m_dataViewListColumnIdxDate;
+		wxDataViewListCtrl* m_dataViewListCtrlIdx;
+		wxDataViewColumn*   m_dataViewListColumnIdxNo;
+		wxDataViewColumn*   m_dataViewListColumnIdxHno;
+		wxDataViewColumn*   m_dataViewListColumnIdxName;
+
+		wxChoice*           m_choiceDrvYear;
+		wxDataViewListCtrl* m_dataViewListCtrlDrvDate;
+		wxDataViewColumn*   m_dataViewListColumnDrvDateNo;
+		wxDataViewColumn*   m_dataViewListColumnDrvDate;
+		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;
+
+		// 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
+		wxListBox*          m_listBox2;
+		wxCheckBox*         m_checkBoxMask;
+		wxButton*           m_buttonPrint;
+		wxSpinCtrl*         m_spinCtrl;
+		wxTextCtrl*         m_textCtrlPasswd;
+
+		// Virtual event handlers, overide them in your derived class
+		virtual void OnChar(wxKeyEvent& event);
+		virtual void OnFile(wxFileDirPickerEvent& event);
+		virtual void OnRead(wxCommandEvent& event);
+		virtual void OnHist(wxCommandEvent& event);
+		virtual void OnSelectBatchListItem(wxDataViewEvent& event);
+		virtual void OnSelectListAnyItem(wxDataViewEvent& event);
+		virtual void OnPrint(wxCommandEvent& event);
+		virtual void OnIdxYearChoice(wxCommandEvent& event);
+		virtual void OnIdxDateSelected(wxDataViewEvent& event);
+		virtual void OnDrvYearChoice(wxCommandEvent& event);
+		virtual void OnDrvDateDClicked(wxDataViewEvent& event);
+		virtual void OnDrvDateSelected(wxDataViewEvent& event);
+		virtual void OnDrvDClicked(wxDataViewEvent& event);
+		virtual void OnUploadHhsDB(wxCommandEvent& event);
+		virtual void OnUploadImage(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();
+};
+