File: LaserBoy_GUI_base.hpp

package info (click to toggle)
laserboy 2016.03.15-1.1
  • links: PTS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 14,216 kB
  • ctags: 1,917
  • sloc: cpp: 45,305; makefile: 53
file content (100 lines) | stat: -rw-r--r-- 5,315 bytes parent folder | download | duplicates (3)
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
//############################################################################
//
// LaserBoy !!!
//
// by James Lehman
// Extra Stimulus Inc.
// james@akrobiz.com
//
// began: October 2003
//
// Copyright 2003, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 2016 James Lehman.
// This source is distributed under the terms of the GNU General Public License.
//
// LaserBoy_GUI_base.hpp is part of LaserBoy.
//
// LaserBoy 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 3 of the License, or
// (at your option) any later version.
//
// LaserBoy 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 LaserBoy. If not, see <http://www.gnu.org/licenses/>.
//
//############################################################################
#ifndef __LASERBOY_GUI_BASE_DEFINITIONS__
#define __LASERBOY_GUI_BASE_DEFINITIONS__

#include "LaserBoy_TUI.hpp"

//############################################################################
class LaserBoy_GUI_base
{
public:
    LaserBoy_GUI_base(int x, int y)
        : running            (false),
          prompt_escaped     (false),
          teminate_requested (false),
          xres               (x    ),
          yres               (y    ),
          file_name          (     ),
          space              (this )
                                       {}
    //------------------------------------------------------------------------
virtual
   ~LaserBoy_GUI_base() {}
    //------------------------------------------------------------------------
virtual void     display_space                              (                     ) = 0;
virtual void     capture_screen                             (                     ) = 0;
    //------------------------------------------------------------------------
virtual string   display_prompt_file_with_auto_complete     (const string& prompt,
                                                            const string& part   ) = 0;
    //------------------------------------------------------------------------
virtual string   display_prompt_dir_with_auto_complete      (const string& prompt ) = 0;
virtual string   display_prompt_f_effect_with_auto_complete (const string& prompt ) = 0;
virtual string   display_prompt_fs_effect_with_auto_complete(const string& prompt ) = 0;
virtual string   display_prompt_and_echo_name               (const string& prompt ) = 0;
virtual string   display_prompt_and_echo_string             (const string& prompt ) = 0;
    //------------------------------------------------------------------------
virtual double   display_prompt_and_echo_double             (const string& prompt,
                                                             double  value  ) = 0;
    //------------------------------------------------------------------------
virtual int      display_prompt_and_echo_int                (const string& prompt,
                                                             int     value  ) = 0;
    //------------------------------------------------------------------------
virtual int      display_prompt_and_echo_nibble             (const string& prompt ) = 0;
virtual bool     display_prompt_and_echo_bool               (const string& prompt ) = 0;
    //------------------------------------------------------------------------
virtual bool     report_ild_file_open                       (LaserBoy_frame_set& frame_set,
                                                             const string& file_name
                                                            )                       = 0;
    //------------------------------------------------------------------------
virtual bool     report_ctn_file_open                       (LaserBoy_frame_set& frame_set,
                                                             const string& file_name
                                                            )                       = 0;
    //------------------------------------------------------------------------
virtual void     display_error                              (const string& error  ) = 0;
virtual void     display_state                              (const string& state  ) = 0;
virtual void     display_message                            (const string& message) = 0;
virtual void     display_progress                           (      int   countdown) = 0;
    //------------------------------------------------------------------------
    bool         running,
                 prompt_escaped,
                 teminate_requested;
    u_int        xres,
                 yres;
    string       file_name;
    LaserBoy_TUI space;
};

//############################################################################
#endif

//############################################################################
//////////////////////////////////////////////////////////////////////////////
//############################################################################