3 * Copyright (C) 2007, Harbour, All rights reserved.
14 class app_specific_ui {
19 virtual ~app_specific_ui() { }
20 //virtual void log() = 0;
21 virtual void beep() { }
22 virtual void progress_bar() { debug("default progress_bar"); }
23 virtual void some_specific_app_output() { }
24 virtual void some_specific_app_input() { }
27 class batch_ui: public F_Batch_UI, public app_specific_ui {
29 batch_ui() : F_Batch_UI(/* 1 */) { }
35 class console_ui: public F_Linux_Console_UI, public app_specific_ui {
37 console_ui() : F_Linux_Console_UI(/* 2 */) { }
40 void progress_bar() { debug("console_ui progress_bar"); }
43 class x11_ui: public F_FLTK_UI, public app_specific_ui {
45 x11_ui() : F_FLTK_UI() { }
50 class demo_app : public F_App {
51 // available ui's for this app
56 demo_app(int argc, char **argv, const char *name = 0,
57 const char *version = 0, const char *author = 0, const char *license = 0,
58 CommandOption *opts = 0) :
59 F_App(argc, argv, name, version, author, license, opts) {
62 ~demo_app() { delete ui1; }
63 void parse_command_options(void);
65 app_specific_ui *ui() { return dynamic_cast<app_specific_ui *>(ui_); }