File: dataedit.h

package info (click to toggle)
fityk 1.3.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,772 kB
  • sloc: cpp: 34,595; ansic: 4,676; python: 963; makefile: 384; sh: 119; xml: 91; java: 31; ruby: 27; perl: 25
file content (66 lines) | stat: -rw-r--r-- 2,089 bytes parent folder | download | duplicates (5)
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
// This file is part of fityk program. Copyright 2001-2013 Marcin Wojdyr
// Licence: GNU General Public License ver. 2+
/// EditTransDlg: Data > Edit Transformations

#ifndef FITYK_WX_DATAEDIT_H_
#define FITYK_WX_DATAEDIT_H_

#include <string>
#include <vector>

namespace fityk { class Data; }

struct DataTransform
{
    wxString name;
    wxString description;
    wxString code;
    bool in_menu;
    bool is_changed;
};

class EditTransDlg : public wxDialog
{
    typedef std::vector<std::pair<int,fityk::Data*> > ndnd_type;
public:
    EditTransDlg (wxWindow* parent, wxWindowID id, ndnd_type const& dd);
    static std::vector<DataTransform> const& get_transforms()
                                                    { return transforms; }
    static void read_transforms(bool skip_file);
    static void execute_tranform(std::string const& code);

private:
    static std::vector<DataTransform> transforms;
    ndnd_type ndnd;
    wxCheckListBox *trans_list;
    wxTextCtrl *name_tc, *description_tc, *code_tc;
    wxButton *add_btn, *remove_btn, *up_btn, *down_btn,
             *save_btn, *revert_btn, *todefault_btn,
             *apply_btn, *rezoom_btn, *undo_btn/*, *help_btn*/;

    void OnAdd(wxCommandEvent& event);
    void OnRemove(wxCommandEvent& event);
    void OnUp(wxCommandEvent& event);
    void OnDown(wxCommandEvent& event);
    void OnSave(wxCommandEvent& event);
    void OnRevert(wxCommandEvent& event);
    void OnToDefault(wxCommandEvent& event);
    void OnApply(wxCommandEvent& event);
    void OnReZoom(wxCommandEvent& event);
    void OnUndo(wxCommandEvent&);
    void OnNameText(wxCommandEvent&);
    void OnDescText(wxCommandEvent&);
    void OnCodeText(wxCommandEvent&);
    void OnListItemSelected(wxCommandEvent&) { update_right_side(); }
    void OnListItemToggled(wxCommandEvent& event);

    void init();
    void initialize_checklist();
    bool update_apply_button();
    void update_right_side();
    void update_menu_name(int item);
    static std::string conv_code_to_one_line(std::string const& code);
};

#endif // FITYK_WX_DATAEDIT_H_