Beispiel #1
0
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    bool render_gui = true;
    int ret_value = 0;

    init_command_map();

    QMap<Command *, QStringList> tasks = retrieve_tasks(a.arguments());

    if (tasks.isEmpty())
    {
        print_usage();
        a.exit();
        render_gui = false;
    }

    QMapIterator<Command *, QStringList> i(tasks);

    QImage image;

    while(i.hasNext())
    {
        i.next();

        try
        {
            i.key()->run(i.value());

            image = i.key()->working_image;
        }
        catch (CommandException& cme)
        {
            qout << "Exception running command " << i.key()->name << ": " << cme.message  << "." << endl;

            qout << i.key()->name << " usage:" << endl << "\t " << i.key()->usage() << endl;

            render_gui = false;
        }
    }

    if (render_gui)
    {
        MainWindow m;

        m.setImage(image);

        m.show();

        ret_value = a.exec();
    }
    else
    {
        a.exit();
    }

    return ret_value;
}
Beispiel #2
0
Command::Command() : remote(nullptr)
{
   init_command_map();
}