forked from ImpulseAdventure/JPEGsnoop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DbManageDlg.h
72 lines (56 loc) · 2.63 KB
/
DbManageDlg.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// JPEGsnoop - JPEG Image Decoder & Analysis Utility
// Copyright (C) 2017 - Calvin Hass
// http://www.impulseadventure.com/photo/jpeg-snoop.html
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
// ==========================================================================
// CLASS DESCRIPTION:
// - Dialog box that allows user to manage the local signatures database
// - The caller will invoke InsertEntry() on all extra database signatures
// which can then be added to the listbox via PopulateList() during OnInitDialog().
// - A sideband parallel array is used to record the original index positions
// of each entry in the listbox so that we can easily determine which entries
// have been deleted once the dialog has completed.
// - The parallel array can be queried after the dialog box has closed via GetRemainIndices()
// to return the list of custom signature indices that remain. This allows
// the master list to be trimmed down (ie. entries removed).
// ==========================================================================
#pragma once
#include "afxwin.h"
// CDbManageDlg dialog
class CDbManageDlg : public CDialog
{
DECLARE_DYNAMIC(CDbManageDlg)
public:
CDbManageDlg(CWnd* pParent = NULL); // standard constructor
virtual ~CDbManageDlg();
// Dialog Data
enum { IDD = IDD_DBMANAGEDLG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
DECLARE_MESSAGE_MAP()
public:
void InsertEntry(unsigned ind,CString strMake, CString strModel, CString strQual, CString strSig);
void PopulateList();
void GetRemainIndices(CUIntArray& anRemain);
private:
virtual BOOL OnInitDialog();
afx_msg void OnBnClickedRemove();
afx_msg void OnBnClickedRemoveall();
private:
CListBox m_ctlListBox; // Listbox representing custom signatures
CStringArray m_asToInsert; // Entries to be added to Listbox via PopulateList()
CUIntArray m_anListBoxInd; // Index of entries currently in listBox (e.g 1,2,4,7,15)
};