FrameIT
SolutionOrganizer Class Reference

Solution of a Stage More...

Inheritance diagram for SolutionOrganizer:
FactOrganizer

Classes

class  SubSolution
 Sits at the heart, but represents only a part of the whole Solution. More...
 

Public Member Functions

 SolutionOrganizer (bool invoke=false)
 Standard Constructor for empty, ready to use FactOrganizer More...
 
- Public Member Functions inherited from FactOrganizer
 FactOrganizer (bool invoke=false)
 Standard Constructor for empty, ready to use FactOrganizer More...
 
bool ContainsKey (string id)
 wrappes FactDict.ContainsKey(id ) More...
 
bool ContainsLabel (string label)
 Looks up if there is a label Fact.Label in FactDict.Values More...
 
string Add (Fact value, out bool exists, bool samestep=false)
 Call this to Add a Fact to this instance. More...
 
bool Remove (Fact value, bool samestep=false)
 Call this to Remove a Fact from this instance. If other Facts depend on value Remove(/, true)will be called recursively/ cascadingly. More...
 
bool Remove (string key, bool samestep=false)
 Call this to Remove a Fact from this instance. If other Facts depend on value Remove(/, true)will be called recursively/ cascadingly. More...
 
bool safe_dependencies (string key, out List< string > dependencies)
 searches recursively for Facts where Fact.getDependentFactIds includes key / found dependencies More...
 
void undo ()
 Undoes an entire step or last softreset . No Fact will be actually added, removed or deleted; only its visablity and meta.active changes.

See also
marker, worksteps, backlog
More...
 
void redo ()
 Redoes an entire step . No Fact will be actually added, removed or deleted; only its visablity and meta.active changes.

See also
marker, worksteps, backlog
More...
 
void Clear ()
 Resets to "factory conditions". Neither deletes Facts nor invokes CommunicationEvents.RemoveFactEvent More...
 
void hardreset (bool invoke_event=true)
 Resets to "factory conditions". deletes Facts and invokes CommunicationEvents.RemoveFactEvent iff invoke_event && invoke. More...
 
void softreset ()
 Undoes all worksteps (since marker) and sets soft_resetted to true. More...
 
void fastforward ()
 Redoes all worksteps (from marker onwards) and sets soft_resetted to false. More...
 
void Draw (bool draw_all=false)
 Call this after assigning a stored instance in an empty world, that was not drawn. Redoes/ draws everything from marker = 0 to draw_all ? worksteps : backlog More...
 
void Undraw (bool force_invoke=false)
 Undraws everything by invoking CommunicationEvents.RemoveFactEvent, that is meta.active, but does not change that satus. More...
 
bool DynamiclySolved (SolutionOrganizer MinimalSolution, out List< List< string > > MissingElements, out List< List< string > > Solutions)
 Used to check wether this satisfies the constrains of an Solution. Only meta.active are accounted for. More...
 
void store (string name, List< Directories > hierarchie=null, bool use_install_folder=false, bool overwrite=true)
 
void delete ()
 

Public Attributes

List< SubSolutionValidationSet
 A collection of constrains of which all have to be true

See also
SubSolution, FactOrganizer.DynamiclySolved(SolutionOrganizer, out List<List<string>>, out List<List<string>>)
More...
 
- Public Attributes inherited from FactOrganizer
bool invoke
 If set to true, Remove(string, bool) and Add(Fact, out bool, bool) will invoke CommunicationEvents.RemoveFactEvent and CommunicationEvents.AddFactEvent respectively. More...
 

Private Attributes

string path_Val = null
 

Static Private Attributes

static List< Directories > hierVal = new List<Directories> { Directories.ValidationSets }
 
const string endingSol = "_sol"
 adds to the end of the file name of a More...
 
const string endingVal = "_val"
 ValidationFile (stores ValidationSet) More...
 
new void store (string name, List< Directories > hierarchie=null, bool use_install_folder=false, bool overwrite=true)
 
new void delete ()
 
static bool load (ref SolutionOrganizer set, bool draw, string name, List< Directories > hierarchie=null, bool use_install_folder=false)
 

Additional Inherited Members

- Static Public Member Functions inherited from FactOrganizer
static bool load (ref FactOrganizer set, bool draw, string name, List< Directories > hierarchie, bool use_install_folder, out Dictionary< string, string > old_to_new)
 
static void delete (string name, List< Directories > hierarchie, bool use_install_folder)
 
static void delete (string path)
 
- Package Attributes inherited from FactOrganizer
Dictionary< string, FactFactDict
 
Dictionary< string, metaMetaInf = new Dictionary<string, meta>()
 
List< stepnoteWorkflow = new List<stepnote>()
 Keeps track of insertion/ deletion/ etc. operations for undo and redo More...
 
int marker = 0
 Notes position in Workflow for undo and redo; the pointed to element is non-acitve More...
 
int worksteps = 0
 Backlock logic redundant - for convinience. Keeps track of number of steps in Workflow. One step can consist of multiple operations.

See also
stepnote
More...
 
int backlog = 0
 Backlock logic redundant - for convinience. Keeps track of number of steps in Workflow, which are not set active. One step can consist of multiple operations.

See also
stepnote
More...
 
bool soft_resetted = false
 Set to true if recently been resetted. More...
 
int MaxLabelId = 0
 Keeps track of maximum Fact.LabelId for Fact.generateLabel. More...
 
SortedSet< int > UnusedLabelIds = new SortedSet<int>()
 Stores unused Fact.LabelId for Fact.generateLabel, wich were freed in Fact.freeAutoLabel for later reuse to keep naming space compact. More...
 
- Properties inherited from FactOrganizer
Fact this[string id] [get]
 wrappes FactDict[id ]

See also
ContainsKey(string)
More...
 

Detailed Description

Solution of a Stage

Constructor & Destructor Documentation

◆ SolutionOrganizer()

SolutionOrganizer.SolutionOrganizer ( bool  invoke = false)

Standard Constructor for empty, ready to use FactOrganizer

Parameters
invokesets invoke.

Member Function Documentation

◆ delete()

new void SolutionOrganizer.delete ( )

TODO? move to interface? TODO: document

◆ load()

static bool SolutionOrganizer.load ( ref SolutionOrganizer  set,
bool  draw,
string  name,
List< Directories >  hierarchie = null,
bool  use_install_folder = false 
)
static

TODO? move to interface? TODO: document

◆ store()

new void SolutionOrganizer.store ( string  name,
List< Directories >  hierarchie = null,
bool  use_install_folder = false,
bool  overwrite = true 
)

TODO? move to interface? TODO: document

Member Data Documentation

◆ endingSol

const string SolutionOrganizer.endingSol = "_sol"
staticprivate

adds to the end of the file name of a

SolutionFile (stores this)

◆ endingVal

const string SolutionOrganizer.endingVal = "_val"
staticprivate

ValidationFile (stores ValidationSet)

◆ hierVal

List<Directories> SolutionOrganizer.hierVal = new List<Directories> { Directories.ValidationSets }
staticprivate

◆ path_Val

◆ ValidationSet

List<SubSolution> SolutionOrganizer.ValidationSet

The documentation for this class was generated from the following file: