fltk/fluid/app/args.h
Matthias Melcher 51a55bc736
Fluid: restructuring and rejuvenation of the source code.
* Add classes for application and project
* Removed all globals from Fluid.h
* Extracting args and project history into their own classes
* Moving globals into Application class
* Initialize values inside headers for some classes.
* Undo functionality wrapped in a class inside Project.
* File reader and writer are now linked to a project.
* Avoid global project access
* Nodes (former Types) will be managed by a new Tree class.
* Removed static members (hidden globals) form Node/Fl_Type.
* Adding Tree iterator.
* Use nullptr instead of 0, NULL, or 0L
* Renamed Fl_..._Type to ..._Node, FL_OVERRIDE -> override
* Renaming ..._type to ...::prototype
* Splitting Widget Panel into multiple files.
* Moved callback code into widget panel file.
* Cleaning up Fluid_Image -> Image_asset
* Moving Fd_Snap_Action into new namespace fld::app::Snap_Action etc.
* Moved mergeback into proj folder.
* `enum ID` is now `enum class Type`.
2025-03-16 17:16:12 -04:00

56 lines
1.8 KiB
C++

//
// Command Line Arguments Handling header for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2025 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
// file is missing or damaged, see the license at:
//
// https://www.fltk.org/COPYING.php
//
// Please see the following page on how to report bugs and issues:
//
// https://www.fltk.org/bugs.php
//
#ifndef FLUID_APP_ARGS_H
#define FLUID_APP_ARGS_H
#include <string>
namespace fld {
namespace app {
class Args {
// Callback.
static int arg_cb(int argc, char** argv, int& i);
// Handle args individually.
int arg(int argc, char** argv, int& i);
public:
/// Set, if Fluid was started with the command line argument -u
int update_file { 0 }; // fluid -u
/// Set, if Fluid was started with the command line argument -c
int compile_file { 0 }; // fluid -c
/// Set, if Fluid was started with the command line argument -cs
int compile_strings { 0 }; // fluid -cs
/// command line arguments that overrides the generate code file extension or name
std::string code_filename { }; // fluid -o filename
/// command line arguments that overrides the generate header file extension or name
std::string header_filename { }; // fluid -h filename
/// if set, generate images for automatic documentation in this directory
std::string autodoc_path { }; // fluid --autodoc path
/// Set, if Fluid was started with the command line argument -v
int show_version { 0 }; // fluid -v
/// Constructor.
Args() = default;
// Load args from command line into variables.
int load(int argc, char **argv);
};
} // namespace app
} // namespace fld
#endif // FLUID_APP_ARGS_H