Building f(x)

Building the App

make

make()

Connecting the Host with Plugins and Pop Ups

ext_start_up

functions.start_up.ext_start_up(app)
The ext_start_up() is used to:
  • intatiate the plugins

  • assign appropriate tags to the plugins

  • and resize the window and center it on the user screen

Parameters

app – a reference to itself

create all subpanels from different m-filers

Todo

autogenerate the connections below

Todo

mandatory tag names of plugins? Way to automate that ?

Todo

mandatory name main_Panel for UIPanel of plugins? (main_Panel)

The Three Core Functions

addPath_creator

functions.building.addPath_creator(project_dir)

create a function to add all relevant folders to the current MATLAB path

  1. filter out any level one directory

  2. create the file calls

  3. write the function to an .m-file

conversion_func_generator

functions.building.conversion_func_generator(project_dir)

creates the function to extract .m-files out of .mlapp files

mlapp_to_m

functions.building.mlapp_to_m(mlappfile_loc, view_type)
depending on the viewtype of the input file, the classdef .m is eiher
  1. just stripped from the .mlapp file

  2. or additionally modified to be compatible

Parameters
  • mlappfile_loc – filepath to the .mlapp file which is going to be linked

  • view_type – one of the three specific view types

Utilities to the Automatically Created Functions

app_launch

functions.building.app_launch()

scans the root directory for the host app and launches it from its .mlapp file

utf8_write_to_file

functions.building.utf8_write_to_file(target_path, file_name, my_m_code)

Write code [n x 1] cell array to text-file in unicode encoding

Parameters
  • target_path (Char Array) – relative path to target

  • file_name (Cell Array) – filename including fileextension

  • my_m_code – code to be written to file

levelOneDirQuery

functions.building.levelOneDirQuery(qPar)

utility to get only subfolders (if any) from a dir query :param qPar: a directory path :type qPar: char array

Returns

foldernames in the queryed directory

Return type

cell-array

Level one (one subdirecotry below, as defined by qPar)

add_subfolder

functions.building.add_subfolder(p)

What does it do ?

Parameters

p (struct) – opt - struct carrying configuration for processor/core

Returns

opt - added substructs and fields (boolean)

Return type

struct

project_parts

functions.building.project_parts()

Analyze the project structure Uses the mignore_reader()

mignore_reader

functions.building.mignore_reader(mignore_dir)

reads in the .mignore file, analogon to .gitignore

Parameters

migDir (char array) – path to the .mignore file

Returns

name of files and folders to ignore

Return type

cell-array

auto gernerated code

builder_addPath

functions.auto_generated.builder_addPath()

adds builder and custom function folders(only first level) in a second run this function will also add the mfiles subdirectories of each .mlapp-file.

Input

no input

Returns

void

Warning

ANY CHANGE IN THIS AUTOMATICALLY CREATED FUNCTION WILL BE LOST a) RATHER APPEND YOUR CODE TO addPath_creator b) OR WRITE YOUR OWN FUNCTIONS AND APPEND THEM TO THE FLOW

Todo

save your code in mfiles folder aswell currently, a level beneeth mfiles is not recognized

Todo

define/declare/offer standerdized hooks like in WordPress

A list of directories to add the the matlab pathdef during the Seission

conversion_launcher

functions.auto_generated.conversion_launcher(project_dir)

generates the classdef .m-files in the subdirectory of each .mlapp-file called mfiles

Input

no input

Returns

void

Warning

ANY CHANGE IN THIS AUTOMATICALLY CREATED FUNCTION WILL BE LOST a) RATHER APPEND YOUR CODE TO conversion_func_generator() b) OR WRITE YOUR OWN FUNCTIONS AND APPEND THEM TO THE FLOW

Analyzes the project structure and creates a scriptlike function to extract and edit the classef files