QtNovelUI/WordsIDE/command_list.h

138 lines
4.0 KiB
C
Raw Normal View History

#ifndef COMMAND_LIST_H
#define COMMAND_LIST_H
2023-03-10 13:01:19 +00:00
#include "route.h"
#include <commandsdispatcher.h>
2023-03-17 13:58:38 +00:00
namespace MakeTools {
class PresentBase;
}
namespace Components {
class PresentHost;
}
namespace CommandList {
2023-03-10 13:01:19 +00:00
class NewProject : public Schedule::GeCommand {
public:
NewProject(const QDir &dir, const QString &name);
// GeCommand interface
2023-03-10 13:01:19 +00:00
public:
virtual QString name() const override;
2023-03-10 13:01:19 +00:00
virtual void run(Schedule::CommandsDispatcher *core) const override;
virtual QString toText() const override;
virtual void fromText(const QString &line) override;
2023-03-10 13:01:19 +00:00
private:
QDir dir_symbo;
QString name_val;
};
class OpenProject : public Schedule::GeCommand {
public:
OpenProject(const QString &path);
// GeCommand interface
public:
virtual QString name() const override;
virtual void run(Schedule::CommandsDispatcher *core) const override;
virtual QString toText() const override;
virtual void fromText(const QString &line) override;
private:
QString project_path;
};
class CloseProject : public Schedule::GeCommand {
public:
CloseProject();
// GeCommand interface
public:
virtual QString name() const override;
virtual void run(Schedule::CommandsDispatcher *core) const override;
virtual QString toText() const override;
virtual void fromText(const QString &line) override;
};
class NewPackage : public Schedule::GeCommand {
public:
NewPackage(const QString &path_string);
// GeCommand interface
public:
virtual QString name() const override;
virtual void run(Schedule::CommandsDispatcher *core) const override;
virtual QString toText() const override;
virtual void fromText(const QString &line) override;
private:
QList<QString> sequence;
};
2023-03-10 13:01:19 +00:00
class NewFile : public Schedule::GeCommand {
public:
NewFile(const Core::Route &group, const QString &name,
const QString &suffix);
private:
QList<QString> group_val;
QString name_val, suffix;
// GeCommand interface
public:
virtual QString name() const override;
virtual void run(Schedule::CommandsDispatcher *core) const override;
virtual QString toText() const override;
virtual void fromText(const QString &line) override;
};
class OpenFile : public Schedule::GeCommand {
public:
OpenFile(const Core::Route &path_node);
OpenFile(const QFileInfo &f);
private:
QList<QString> path_store;
QFileInfo final_file;
// GeCommand interface
public:
virtual QString name() const override;
virtual void run(Schedule::CommandsDispatcher *core) const override;
virtual QString toText() const override;
virtual void fromText(const QString &line) override;
};
class SaveAll : public Schedule::GeCommand {
public:
SaveAll();
// GeCommand interface
public:
virtual QString name() const override;
virtual void run(Schedule::CommandsDispatcher *core) const override;
virtual QString toText() const override;
virtual void fromText(const QString &line) override;
};
2023-03-17 13:58:38 +00:00
// 切换视图组件 ================================================================
class CompVisible : public Schedule::GeCommand {
public:
CompVisible(Components::PresentHost *host, MakeTools::PresentBase *target, bool state);
// GeCommand interface
public:
virtual QString name() const override;
virtual void run(Schedule::CommandsDispatcher *core) const override;
virtual QString toText() const override;
virtual void fromText(const QString &line) override;
private:
Components::PresentHost *host_ins;
MakeTools::PresentBase *target_ins;
Core::Route path;
bool state_val;
};
2023-03-10 13:01:19 +00:00
} // namespace CommandList
#endif // COMMAND_LIST_H