diff horori/searcher/include/searcher.h @ 0:aaaa401818a1 draft

first commit.
author pyon <pyon@macmini>
date Mon, 24 May 2021 21:32:58 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/horori/searcher/include/searcher.h	Mon May 24 21:32:58 2021 +0900
@@ -0,0 +1,249 @@
+// Filename   : searcher.h
+// Last Change: 2021-05-11 火 12:42:07.
+//
+#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, m_mask4;
+		int m_searchmode;
+		wxList 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;
+
+		// Mainte(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_staticline1;
+
+		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;
+
+		wxStaticText*     m_staticTextCSV;
+		wxFilePickerCtrl* m_filePickerCSV;
+		wxButton*         m_buttonCSV;
+
+		wxStaticLine*     m_staticline2;
+
+		wxStaticText*     m_staticTextVersion;
+		wxTextCtrl*       m_textCtrlVersion;
+
+		// Setup
+		wxPanel*            m_panelSetup;
+		wxDataViewListCtrl* m_dataViewListCtrlPw;
+		wxDataViewColumn*   m_dataViewListColumnUId;
+		wxDataViewColumn*   m_dataViewListColumnUName;
+		wxDataViewColumn*   m_dataViewListColumnUGroup;
+		wxDataViewColumn*   m_dataViewListColumnUPw;
+		wxTextCtrl*         m_textCtrlUPassword;
+		wxButton*           m_buttonPw;
+
+		// Right-Pane
+		wxSearchCtrl*       m_searchCtrl;
+		wxButton*           m_buttonPaste;
+		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 OnDB2CSV(wxCommandEvent& event);
+
+		virtual void OnUPassword(wxCommandEvent& event);
+		virtual void OnSavePw(wxCommandEvent& event);
+
+		virtual void OnChar(wxKeyEvent& event);
+		virtual void OnPaste(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 SearchByHno(wxString hno);
+		void SetHhsInfo(wxString h);
+		void SetListAnyHeader(int mode);
+		void SetImages();
+		void LoadBookImage(MyStaticBitmap& mysb, wxString file);
+		void LoadBookImages();
+		void ReadCSV();
+		void LoadPasswd(bool show);
+		void SavePasswd();
+		void RemoveTemp();
+		void MaskImage();
+		void SetVersionInfo();
+
+	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();
+};
+