#ifndef REMARKUPPLUGIN_H
#define REMARKUPPLUGIN_H

#include <QtCore/QObject>
#include "JuffPlugin.h"
#include "remarkupparser.h"

class RemarkupParserThread;

namespace Juff {
    class JuffScintilla;
}

class RemarkupPlugin: public QObject, public JuffPlugin{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID JuffPlugin_iid)
    Q_INTERFACES(JuffPlugin)

public:
    RemarkupPlugin();
    ~RemarkupPlugin();
    void init();

    //	info
    virtual QString name() const;
    virtual QString title() const;
    virtual QString description() const;
    virtual QString targetEngine() const;
    Juff::ActionList mainMenuActions(Juff::MenuID id) const;

signals:


public slots:
  void refresh(Juff::Document* doc);
  void onDocSyntaxChanged(Juff::Document* doc, QString syntax);
  void onTextParsed(const Blocks& blocks, Juff::JuffScintilla* doc);
  void onDocOpened(Juff::Document* doc, Juff::PanelIndex panel);
  void onDocClosed(Juff::Document* doc);

  void setSelectionBold();
  void setSelectionItalic();

private:
    RemarkupParserThread* threadRemarkupParser;
};

#endif // REMARKUPPLUGIN_H
