source: trunk/FACT++/src/ReadlineWindow.h

Last change on this file was 16869, checked in by tbretz, 7 years ago
When we output something ourselves before the event hook is called in readline, we have to signal readline that we have started a new row, so that readline can properly update the prompt. I hope this finally solves the flickering issue on my laptop and/or the problematic display in the fadctrl.
File size: 1.2 KB
Line 
1#ifndef FACT_ReadlineWindow
2#define FACT_ReadlineWindow
3
4#include "Readline.h"
5
6typedef struct _win_st WINDOW;
7
8class ReadlineWindow : public Readline
9{
10    WINDOW *fWindow; /// Pointer to the panel for the input stream
11
12    int fPromptX;    /// When the readline call is issued the x position at which the output will start is stored here
13    int fPromptY;    /// When the readline call is issued the y position at which the output will start is stored here
14
15    int fColor;      /// Color index in which the prompt should be displayed
16
17protected:
18    // The implementations of the callback funtions
19    //int  Getc(FILE *);
20    void Startup();
21    void Redisplay();
22    void EventHook(bool = false);
23    void CompletionDisplay(char **matches, int num, int max);
24
25    // Refresh the display before setting the cursor position
26    virtual void Refresh() { }
27
28    // Callback after readline has returned
29    void Shutdown(const char *buf);
30
31public:
32    ReadlineWindow(const char *prgname);
33
34    // Initialization
35    void SetWindow(WINDOW *w);
36    void SetColorPrompt(int col) { fColor = col; }
37
38    // Move cursor to start of last prompt
39    void RewindCursor() const;
40};
41
42#endif
Note: See TracBrowser for help on using the repository browser.