// DasherSettingsInterface.h // ///////////////////////////////////////////////////////////////////////////// // // Copyright (c) 2002 Iain Murray // ///////////////////////////////////////////////////////////////////////////// #ifndef __DasherSettingsInterface_h__ #define __DasherSettingsInterface_h__ #include "DasherTypes.h" #include "SettingsStore.h" namespace Dasher {class CDasherSettingsInterface;} class Dasher::CDasherSettingsInterface { public: void SettingsDefaults(CSettingsStore* Store); // These actually affect the way Dasher works //! Change the alphabet in use to NewAlphabetID virtual void ChangeAlphabet(const std::string& ) {}; //! Change the maximum bitrate (effectively the speed) of Dasher virtual void ChangeMaxBitRate(double ) {}; //! Generate a new langage model. Not usually needed virtual void ChangeLanguageModel(unsigned int ) {}; //! Generate a new view of the model. Call it with 0 when starting up virtual void ChangeView(unsigned int ) {}; //! Change the orientation (l->r, r->l, so on) of the model virtual void ChangeOrientation(Opts::ScreenOrientations ) {}; //! Set the file encoding of output files to Encoding virtual void SetFileEncoding(Opts::FileEncodingFormats ) {}; //! Inform the core that the screen has this size virtual void SetScreenSize(long , long ) {}; //! Set the size of the font used in the Dasher canvas virtual void SetDasherFontSize(Dasher::Opts::FontSize ) {}; //! Set the number of dimensions of input (either 1 or 2) virtual void SetDasherDimensions(bool ) {}; // These are recommended options for the Dasher GUI. {{{ They don't actually // change the way Dasher works. They are part of the Dasher interface // anyway so that it can handle option saving for you, and to make it // easy for the Dasher engine to control the GUI later on. }}} //! True if toolbar should be shown, false otherwise virtual void ShowToolbar(bool ) {}; //! True if toolbar should show text, false otherwse virtual void ShowToolbarText(bool ) {}; //! True if toolbar should have large icons, false otherwise virtual void ShowToolbarLargeIcons(bool ) {}; //! True if the speed slider should be shown, false otherwise virtual void ShowSpeedSlider(bool ) {}; //! True if the window layout should be fixed, false otherwise virtual void FixLayout(bool ) {}; //! True if new files should be timestamped, false otherwise virtual void TimeStampNewFiles(bool ) {}; //! True if all text should be copied to clipboard when Dasher is stopped, false otherwise virtual void CopyAllOnStop(bool ) {}; //! True if a box should be drawn to represent the logical position of the mouse virtual void DrawMouse(bool ) {}; //! Set the editbox font virtual void SetEditFont(std::string , long ) {}; //! Set the canvas font virtual void SetDasherFont(std::string ) {}; //! Set the height of the edit box virtual void SetEditHeight(long ) {}; //! Should Dasher start and stop on space bar? virtual void StartOnSpace(bool ) {}; //! Should Dasher start and stop on left mouse button? virtual void StartOnLeft(bool ) {}; //! Should Dasher be keyboard controlled? virtual void KeyControl(bool ) {}; //! Should Dasher pause when the pointer leaves the window? virtual void WindowPause(bool ) {}; }; #include namespace Dasher { namespace Keys { // Standard Option strings. You are encouraged to use these constants. // ------------------------------------------------------------------- // bool options extern const std::string TIME_STAMP; extern const std::string SHOW_TOOLBAR; extern const std::string SHOW_TOOLBAR_TEXT; extern const std::string SHOW_LARGE_ICONS; extern const std::string FIX_LAYOUT; extern const std::string SHOW_SLIDER; extern const std::string COPY_ALL_ON_STOP; extern const std::string DRAW_MOUSE; extern const std::string START_SPACE; extern const std::string START_MOUSE; extern const std::string KEY_CONTROL; extern const std::string WINDOW_PAUSE; // long options extern const std::string FILE_ENCODING; extern const std::string MAX_BITRATE_TIMES100; extern const std::string SCREEN_ORIENTATION; extern const std::string VIEW_ID; extern const std::string LANGUAGE_MODEL_ID; extern const std::string EDIT_FONT_SIZE; extern const std::string EDIT_HEIGHT; extern const std::string SCREEN_WIDTH; extern const std::string SCREEN_HEIGHT; extern const std::string DASHER_FONTSIZE; extern const std::string DASHER_DIMENSIONS; // string options extern const std::string ALPHABET_ID; extern const std::string DASHER_FONT; extern const std::string EDIT_FONT; } } // namespace Dasher #endif /* #ifndef __DasherSettingsInterface_h__ */