view include/myframe.h @ 10:29021e6e1ebe

Implement thumbnail list in PreviewDialog.
author pyon@macmini
date Mon, 28 Apr 2014 18:14:04 +0900
parents b455f2d8aac9
children dfcf8c973219
line wrap: on
line source

// Filename   : myframe.h
// Last Change: 28-Apr-2014.
//
#ifndef __MYFRAME_H__
#define __MYFRAME_H__

#include "common.h"

class MyFrame;
///////////////////////////////////////////////////////////////
// カスタム検索ボックス
class MySearchBox : public wxSearchCtrl
{
    DECLARE_EVENT_TABLE()
	private:
        wxArrayString m_jhhsno;

	public:
		MySearchBox( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style );
		~MySearchBox();

        void OnKey( wxKeyEvent& event );
        void SetJudgedHhs( wxArrayString jhhsno ) { m_jhhsno = jhhsno; };
        void SetMessage( wxString msg );
};

///////////////////////////////////////////////////////////////
// サムネイルパネル
class ThumbnailPanel : public wxPanel 
{
	private:
        wxArrayString m_imagefiles;
        wxArrayString m_cachefiles;
	
	protected:
		wxStaticBitmap* m_bitmap0;
		wxStaticBitmap* m_bitmap1;
		wxStaticBitmap* m_bitmap2;
		wxStaticBitmap* m_bitmap3;
		wxStaticBitmap* m_bitmap4;
		wxStaticBitmap* m_bitmap5;
	
	public:
		ThumbnailPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ); 
		~ThumbnailPanel();

        void OnDClick0( wxMouseEvent& event );
        void OnDClick1( wxMouseEvent& event );
        void OnDClick2( wxMouseEvent& event );
        void OnDClick3( wxMouseEvent& event );
        void OnDClick4( wxMouseEvent& event );
        void OnDClick5( wxMouseEvent& event );
        void SetCacheImages( wxString dirpath );	
        void DoPreview( int n );
};

///////////////////////////////////////////////////////////////
// メインフレーム
class MyFrame : public wxFrame 
{
    DECLARE_EVENT_TABLE()
	private:
        wxFileConfig*     config;
        wxString          conf_file;
        wxRect            m_mask1;
        wxRect            m_mask2;
        wxRect            m_mask3;
        wxRect            m_mask1old;
        wxRect            m_mask2old;
        wxRect            m_mask3old;
        long              lmin, lmax;
        double            zmin, zmax;
        wxString          m_hhsno;
	
	protected:
		wxMenuBar*        m_menubar;
		wxMenu*           m_menuFile;
		wxMenu*           m_menuParam;
		wxPanel*          m_panelMain;
		wxStaticBitmap*   m_bitmap;
		wxTextCtrl*       m_textCtrlName;
		wxTextCtrl*       m_textCtrlAddr;
		wxListCtrl*       m_listCtrl;
        ThumbnailPanel*   m_thumbPanel;
		wxStaticText*     m_staticText; // コマンド?
		MySearchBox*      m_searchBox;
		wxButton*         m_buttonKana;
		wxButton*         m_buttonHist;
		wxStatusBar*      m_statusBar;
	
	public:
		MyFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style );
		~MyFrame();
		
        void OnBPrintMode( wxCommandEvent& WXUNUSED(event) );
        void OnIndex( wxCommandEvent& WXUNUSED(event) );
        void LoadParam( void );
        void OnDBBackup( wxCommandEvent& WXUNUSED(event) );
        void OnMaskParam( wxCommandEvent& WXUNUSED(event) );
        void OnMarkParam( wxCommandEvent& WXUNUSED(event) );
        void OnOpenAppDir( wxCommandEvent& WXUNUSED(event) );
        void OpenAppDir( void );
        void OnDClickItem( wxListEvent& event );
        void OnSelectItem( wxListEvent& event );
        void OpenHhsDir( int n );
        void OnKana( wxCommandEvent& WXUNUSED(event) );
        void OnHistory( wxCommandEvent& WXUNUSED(event) );
        void OnCommand( wxCommandEvent& WXUNUSED(event) );
        void UpdateList( wxString hhsno );
        void UpdateThumbmail( int n );
        void PrintImages( wxString hhsno );
        void SetParams( int tab );

        void SetStatusMessage( wxString msg, long n );
        void OnWinSize( wxSizeEvent& event );
        void OnWinMove( wxMoveEvent& WXUNUSED(event) );
        void TellLocation( void );
        void OnQuit( wxCommandEvent& WXUNUSED(event) );
        void OnAbout( wxCommandEvent& WXUNUSED(event) );
        void SaveConfig( wxCloseEvent& WXUNUSED(event) );
};

enum {
    ID_MNBPNT = wxID_HIGHEST + 10,
    ID_MNINDEX,
    ID_MNDBBKUP,
    ID_MNMASKPARAM,
    ID_MNMARKPARAM,
    ID_MNAPPDIR,
    ID_MNABOUT,

    ID_LIST,
    ID_THUMB,

    ID_SEARCH,
    ID_KANA,
    ID_HIST,
};

#endif //__MYFRAME_H__