QtNovelUI/WordsIDE/command_list.h

157 lines
4.5 KiB
C
Raw Normal View History

#ifndef COMMAND_LIST_H
#define COMMAND_LIST_H
2024-02-14 05:27:15 +00:00
#include "Route.h"
2023-03-10 13:01:19 +00:00
#include <QModelIndex>
#include <commandsdispatcher.h>
namespace Presents {
2023-08-29 04:31:29 +00:00
class PresentHost;
class FilePresent;
2023-03-17 13:58:38 +00:00
}
namespace CommandList {
2023-03-10 13:01:19 +00:00
class NewProject : public Schedule::GeCommand {
public:
2023-03-10 13:01:19 +00:00
NewProject(const QDir &dir, const QString &name);
// GeCommand interface
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;
private:
2023-03-10 13:01:19 +00:00
QDir dir_symbo;
QString name_val;
};
2023-03-10 13:01:19 +00:00
class OpenProject : public Schedule::GeCommand {
public:
2023-03-10 13:01:19 +00:00
OpenProject(const QString &path);
// GeCommand interface
public:
2023-03-10 13:01:19 +00:00
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:
2023-03-10 13:01:19 +00:00
QString project_path;
};
2023-03-10 13:01:19 +00:00
class CloseProject : public Schedule::GeCommand {
public:
2023-03-10 13:01:19 +00:00
CloseProject();
// GeCommand interface
public:
2023-03-10 13:01:19 +00:00
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 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;
};
2023-03-10 13:01:19 +00:00
class OpenFile : public Schedule::GeCommand {
public:
2023-03-10 13:01:19 +00:00
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 {
2023-08-27 14:09:46 +00:00
public:
2023-08-29 04:31:29 +00:00
CompVisible(Presents::PresentHost *host, Presents::FilePresent *target, bool state);
2023-03-17 13:58:38 +00:00
// 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;
2023-03-17 13:58:38 +00:00
};
2023-03-10 13:01:19 +00:00
} // namespace CommandList
#endif // COMMAND_LIST_H