2
* This file is part of HexEditor plugin for Code::Blocks Studio
3
* Copyright (C) 2009 Bartlomiej Swiecki
5
* HexEditor plugin is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Frsee Software Foundation; either version 3 of the License, or
8
* (at your option) any later version.
10
* HexEditor pluging is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License
16
* along with HexEditor. If not, see <http://www.gnu.org/licenses/>.
19
* $Id: FileContentDisk.cpp 5445 2009-02-07 00:35:09Z byo $
20
* $HeadURL: svn+ssh://byo@svn.berlios.de/svnroot/repos/codeblocks/trunk/src/plugins/contrib/HexEditor/FileContentDisk.cpp $
23
#ifndef SEARCHDIALOG_H
24
#define SEARCHDIALOG_H
26
//(*Headers(SearchDialog)
27
#include <wx/combobox.h>
29
#include <wx/button.h>
30
#include <wx/radiobut.h>
31
#include <wx/radiobox.h>
32
#include "scrollingdialog.h"
35
#include "FileContentBase.h"
37
class SearchDialog: public wxScrollingDialog
41
SearchDialog( wxWindow* parent, FileContentBase* content, FileContentBase::OffsetT current );
42
virtual ~SearchDialog();
43
inline FileContentBase::OffsetT GetOffset() { return m_Offset; }
47
void BuildContent(wxWindow* parent);
49
//(*Identifiers(SearchDialog)
50
static const long ID_COMBOBOX1;
51
static const long ID_RADIOBUTTON1;
52
static const long ID_RADIOBUTTON2;
53
static const long ID_RADIOBUTTON3;
54
static const long ID_BUTTON1;
55
static const long ID_RADIOBOX2;
56
static const long ID_RADIOBOX1;
59
//(*Declarations(SearchDialog)
60
wxRadioButton* m_SearchTypeString;
61
wxComboBox* m_SearchValue;
62
wxRadioButton* m_SearchTypeExpression;
64
wxRadioBox* m_Direction;
65
wxRadioBox* m_StartFrom;
66
wxRadioButton* m_SearchTypeHex;
69
//(*Handlers(SearchDialog)
70
void OnOk( wxCommandEvent& event );
71
void OnButton1Click(wxCommandEvent& event);
74
void SearchAscii( const char* text );
75
void SearchHex( const wxChar* text );
76
void SearchBuffer( const unsigned char* data, size_t length );
77
void SearchExpression( const wxString& expression );
80
void FoundAt( FileContentBase::OffsetT pos );
84
static int BlockCompare( const unsigned char* searchIn, size_t inLength, const unsigned char* searchFor, size_t forLength, bool backwards );
86
FileContentBase* m_Content;
87
FileContentBase::OffsetT m_Offset;