annotate include/rsearcher.h @ 6:9a8b581c1993

improve performance.
author pyon@macmini
date Tue, 23 Oct 2018 19:15:22 +0900
parents e3b10fb860b3
children 29829e98d510
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
1 // Filename : rsearcher.h
6
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
2 // Last Change: 2018-10-23 ‰Î 14:26:02.
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
3 //
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
4
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
5 #ifndef __RSEARCH_H__
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
6 #define __RSEARCH_H__
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
7
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
8 #include <wx/artprov.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
9 #include <wx/xrc/xmlres.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
10 #include <wx/string.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
11 #include <wx/srchctrl.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
12 #include <wx/gdicmn.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
13 #include <wx/font.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
14 #include <wx/colour.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
15 #include <wx/settings.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
16 #include <wx/textctrl.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
17 #include <wx/button.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
18 #include <wx/notebook.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
19 #include <wx/dataview.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
20 #include <wx/slider.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
21 #include <wx/sizer.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
22 #include <wx/html/htmlwin.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
23 #include <wx/frame.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
24 #include <wx/statbmp.h>
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
25 #include <wx/msgdlg.h>
2
pyon@macmini
parents: 1
diff changeset
26 #include <wx/filefn.h>
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
27 #include <wx/regex.h>
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
28 #include <wx/progdlg.h>
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
29 #include <wx/utils.h>
2
pyon@macmini
parents: 1
diff changeset
30 #include <wx/textfile.h>
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
31 #include <wx/timer.h>
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
32 #include <wx/hashmap.h>
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
33
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
34 /* Data Class */
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
35 class HhsClass {
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
36 public:
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
37 wxString no;
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
38 wxString birth;
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
39 wxString name;
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
40 wxString kana;
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
41 wxString addr;
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
42 wxString sex;
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
43
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
44 HhsClass( wxArrayString& buf );
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
45 };
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
46
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
47 WX_DECLARE_HASH_MAP( wxString, HhsClass*, wxStringHash, wxStringEqual, HhsHash );
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
48
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
49 /* Control-Window Class */
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
50 class MySearchCtrl : public wxSearchCtrl
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
51 {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
52 DECLARE_EVENT_TABLE()
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
53 public:
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
54 MySearchCtrl( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style );
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
55 ~MySearchCtrl();
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
56
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
57 void OnKey( wxKeyEvent& event );
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
58 };
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
59
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
60 class MyStaticBitmap : public wxStaticBitmap
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
61 {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
62 private:
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
63 int m_dragx, m_dragy; // for image drag
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
64 int cx, cy; // for mouse-gesture
6
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
65 wxBitmap m_bmp0;
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
66 wxScrolledWindow* m_parent;
6
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
67
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
68 public:
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
69 int zoom = 0;
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
70
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
71 public:
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
72 MyStaticBitmap( wxScrolledWindow *parent, wxWindowID id, const wxBitmap &label, const wxPoint &pos, const wxSize &size, long style, const wxString &name );
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
73 ~MyStaticBitmap();
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
74
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
75 void OnLeftDown( wxMouseEvent& event );
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
76 void OnLeftUp( wxMouseEvent& event );
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
77 void OnStartRGesture( wxMouseEvent& event );
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
78 void OnEndRGesture( wxMouseEvent& event );
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
79 void OnMotion( wxMouseEvent& event );
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
80 void OnWheel( wxMouseEvent& event );
6
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
81 void SetOrigImage( wxBitmap bmp ) { m_bmp0 = bmp; };
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
82 wxBitmap GetOrigImage( void ) { return m_bmp0; };
4
06342fc544e4 mouse gesture.
pyon@macmini
parents: 3
diff changeset
83 void ChangeBook( int i );
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
84 };
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
85
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
86 class MainFrame : public wxFrame
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
87 {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
88 DECLARE_EVENT_TABLE()
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
89 private:
2
pyon@macmini
parents: 1
diff changeset
90 bool startup = true;
pyon@macmini
parents: 1
diff changeset
91 wxString m_server;
pyon@macmini
parents: 1
diff changeset
92 wxString m_hhs;
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
93 wxString m_user;
2
pyon@macmini
parents: 1
diff changeset
94 wxArrayString m_index;
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
95 wxTimer m_timer;
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
96 HhsHash hhash;
6
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
97 bool m_dark = false;
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
98
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
99 protected:
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
100 MySearchCtrl* m_searchCtrl;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
101 MyStaticBitmap* m_staticBitmap1;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
102 MyStaticBitmap* m_staticBitmap2;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
103 MyStaticBitmap* m_staticBitmap3;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
104 MyStaticBitmap* m_staticBitmap4;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
105 MyStaticBitmap* m_staticBitmap5;
1
eaa27e4ed5be add client_ui.go
pyon@macmini
parents: 0
diff changeset
106 MyStaticBitmap* m_staticBitmap6;
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
107
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
108 wxNotebook* m_notebook;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
109 wxScrolledWindow* m_scrolledWindow1;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
110 wxScrolledWindow* m_scrolledWindow2;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
111 wxScrolledWindow* m_scrolledWindow3;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
112 wxScrolledWindow* m_scrolledWindow4;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
113 wxScrolledWindow* m_scrolledWindow5;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
114 wxScrolledWindow* m_scrolledWindow6;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
115
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
116 wxTextCtrl* m_textCtrlName;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
117 wxTextCtrl* m_textCtrlAddr;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
118 wxDataViewListCtrl* m_dataViewListCtrl;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
119 wxDataViewColumn* m_dataViewListColumnNo;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
120 wxDataViewColumn* m_dataViewListColumnDate;
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
121 wxTextCtrl* m_textCtrlLog;
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
122 wxButton* m_buttonPsearch;
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
123 wxButton* m_buttonPrint;
6
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
124
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
125 // invisible button for shortcut-key
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
126 wxSlider* m_slider;
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
127 wxButton* m_buttonPzoom;
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
128 wxButton* m_buttonMzoom;
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
129 wxButton* m_buttonDark;
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
130 wxButton* m_buttonHelp;
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
131 wxButton* m_buttonLogout;
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
132
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
133 public:
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
134 MainFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT( "Searcher Remote" ), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
135 ~MainFrame();
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
136
2
pyon@macmini
parents: 1
diff changeset
137 void SetServer( wxString server ) { m_server = server; };
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
138 void SetUser( wxString user ) { m_user = user; WriteLog( wxT( "[login] " ) + m_user ); };
2
pyon@macmini
parents: 1
diff changeset
139 void CreateControls( void );
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
140 void SetAccelerator( void );
2
pyon@macmini
parents: 1
diff changeset
141 void Cmd( wxString cmd );
pyon@macmini
parents: 1
diff changeset
142 void Search( void );
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
143 void PasteSeaarch( void );
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
144 void LoadDB( void );
6
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
145 bool LoadBitmap( wxScrolledWindow* sc, MyStaticBitmap* sb, wxString file );
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
146 bool LoadBitmaps( wxString date, bool reload );
6
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
147 void ChangeCZoom( int z );
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
148 void ChangeZoom( wxScrolledWindow* sc, MyStaticBitmap* sb, int z );
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
149 void ChangeColor( MyStaticBitmap* sb );
2
pyon@macmini
parents: 1
diff changeset
150 void GetImages( wxString hhs, wxString date );
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
151 void PrintImages( void );
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
152 void WriteLog( wxString msg );
2
pyon@macmini
parents: 1
diff changeset
153 void InDevelop( bool );
pyon@macmini
parents: 1
diff changeset
154
pyon@macmini
parents: 1
diff changeset
155 void OnItemSelected( wxDataViewEvent& event );
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
156 void OnItemDClicked( wxDataViewEvent& event );
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
157 void OnNBookChanged( wxBookCtrlEvent& event );
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
158 void OnPasteSearch( wxCommandEvent& event );
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
159 void OnPrint( wxCommandEvent& event );
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
160 void OnClose( wxCloseEvent& event ); // save config
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
161 void OnIdle( wxIdleEvent& event );
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
162 void OnTimer( wxTimerEvent& event );
6
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
163 void OnPlusZoom( wxCommandEvent& event );
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
164 void OnMinusZoom( wxCommandEvent& event );
9a8b581c1993 improve performance.
pyon@macmini
parents: 5
diff changeset
165 void OnDark( wxCommandEvent& event );
5
e3b10fb860b3 release v1.0.
pyon@macmini
parents: 4
diff changeset
166 void OnHelp( wxCommandEvent& event );
3
db4813125eb8 many changes.
pyon@macmini
parents: 2
diff changeset
167 void OnLogout( wxCommandEvent& event );
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
168 };
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
169
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
170 #endif // __RSEARCH_H__
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
171