Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 4f23c27070572be9f0b80d659f540b78 > files > 121

motor-debug-3.4.0-2mdv2009.0.i586.rpm

#ifndef __UIEDITOR_H__
#define __UIEDITOR_H__

#include "uiconfiguration.h"
#include "texteditor.h"
#include "ncursesui.h"

__MOTOR_BEGIN_NAMESPACE

class uieditor: public texteditor {
    public:
	enum clipboardaction { cut, copy, paste };
	enum savemode { savecurrent, saveas, saveall, saveallask };

    protected:
	vector<uiconfiguration::syntaxitem> syntaxitems;

	static int keyhandler(texteditor &e, int k);
	static void idlefunc(texteditor &ref);

	void readsyntaxhighlight();
	void setsyntaxhighlight();

	motorui::askresult asksave();

    public:
	uieditor();
	~uieditor();

	void loadsettings();

	int load(const string &buf, const string &id);
	int load(ifstream &f, const string &id);

	void switchwindow(int delta);
	void loadfile();
	bool closecurrentfile();
	bool fsave(savemode amode);

	void clipboard(clipboardaction a);
	void gotoline();
	void markbreakpoints();

	string atcursor();
	void windowlist();
	void resizebottom(int lines);
	bool anymodified();
};

__MOTOR_END_NAMESPACE

#ifdef __MOTOR_USE_NAMESPACES

using motor::uieditor;

#endif

extern motor::uieditor ed;

#endif