#ifndef COMMAND_LIST_H #define COMMAND_LIST_H #include "Route.h" #include #include namespace Presents { class PresentHost; class FilePresent; } namespace CommandList { class NewProject : public Schedule::GeCommand { public: NewProject(const QDir &dir, const QString &name); // 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: 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 sequence; }; class NewFile : public Schedule::GeCommand { public: NewFile(const Core::Route &group, const QString &name, const QString &suffix); private: QList 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 DeleteTarget : public Schedule::GeCommand { public: DeleteTarget(const Core::Route &target); DeleteTarget(const QModelIndex &target); // 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: QModelIndex node_index = QModelIndex(); Core::Route node_path; }; class OpenFile : public Schedule::GeCommand { public: OpenFile(const Core::Route &path_node); OpenFile(const QFileInfo &f); private: QList 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; }; // 切换视图组件 ================================================================ class CompVisible : public Schedule::GeCommand { public: CompVisible(Presents::PresentHost *host, Presents::FilePresent *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: Presents::PresentHost *host_ins; Presents::FilePresent *target_ins; Core::Route path; bool state_val; }; } // namespace CommandList #endif // COMMAND_LIST_H