IRootLab
An Open-Source MATLAB toolbox for vibrational biospectroscopy
irobj Class Reference

Detailed Description

Base class.

Inheriting the "irobj" class Check for descendants, as there may be a more suitable class to be inherited Create a GUI to edit properties from objtool or datatool. This step is optional, but make sure you set flag_ui or flag_params to 0 at the constructor From my own experience, it is common to start by duplicating an existing class file, but forget to rename the constructor The constructor of the new class must have the same name as the class itself. Properties to set in the constructor of new object class

The following properties within irobj define how the GUI will handle the class

Creating a properties Dialog Box

Properties GUI names follow the following pattern: uip_<corresponding class name>.m, and uip_<corresponding class name>.fig. The latter is the FIG created using GUIDE.

  • set flag_ui=1 and flag_params=1 at the constructor
  • Use an existing GUI as template. Open an existing properties GUI in GUIDE, e.g guide uip_fcon_pca, and save it with the appropriate name.
  • Make the necessary changes to the GUI and its source code.

To make it appear in objtool, type

Definition at line 33 of file irobj.m.

+ Inheritance diagram for irobj:

Public Member Functions

function get_description (in o, in flag_short)
 
function setbatch (in o, in params)
 Sets several properties of an object at once. More...
 
function get_methodname (in o, in flag_short)
 
function get_report (in o)
 Object reports are plain text. HTML would be cool but c'mon, we don't need that sophistication. More...
 
function get_html (in o, in flag_stylesheet)
 
function get_params (in o, in data)
 Calls Parameters GUI. More...
 
function extract_log (in o)
 
function get_ancestry (in o, in flag_title)
 

Public Attributes

Property title
 
Property color
 

Protected Member Functions

function do_get_report (in o)
 Default report. More...
 
function do_get_html (in o)
 Abstract. HTML inner body. More...
 

Protected Attributes

Property classtitle
 Class Title. Should have a descriptive name, as short as possible. More...
 
Property short
 Short for the method name. More...
 
Property flag_params
 
Property flag_ui
 (GUI setting) Whether to "publish" in blockmenu and datatool. Note that a class can be "published" without a GUI (set flag_params=0 in this case, at the class constructor). More...
 
Property moreactions
 (GUI setting) String cell containing names of methods that may be called from the GUIs More...
 

Member Function Documentation

function irobj::do_get_html ( in  o)
protected

Abstract. HTML inner body.

function irobj::do_get_report ( in  o)
protected

Default report.

function irobj::extract_log ( in  o)
Parameters
o
Returns
[o, log]
function irobj::get_ancestry ( in  o,
in  flag_title 
)
Parameters
o
flag_title=1
function irobj::get_description ( in  o,
in  flag_short 
)

Returns description string

Precedence according with flag_short:

  • 0: title > short > classtitle
  • 1: short > title > classtitle
Parameters
flag_short=0I am sealing this to make sure that no class will try to improvise on this function.
function irobj::get_html ( in  o,
in  flag_stylesheet 
)
Parameters
flag_stylesheet=1Whether to include the stylesheet in the HTML
function irobj::get_methodname ( in  o,
in  flag_short 
)

This is used only to compose sequence string e.g. xxx->yyy->zzz

Parameters
flag_short=0
function irobj::get_params ( in  o,
in  data 
)

Calls Parameters GUI.

If flag_params, tries uip_<class>.m. If fails, tries uip_<ancestor>.m and so on

function irobj::get_report ( in  o)

Object reports are plain text. HTML would be cool but c'mon, we don't need that sophistication.

function irobj::setbatch ( in  o,
in  params 
)

Sets several properties of an object at once.

Parameters
o
paramsCell followint the pattern
{'property1', value1, 'property2', value2, ...} 

Member Data Documentation

Property irobj::classtitle
protected

Class Title. Should have a descriptive name, as short as possible.

Definition at line 50 of file irobj.m.

Property irobj::color

=[0, .8, 0]. multipurpose feature, routines may use it for different things. Major use is to change the background of objtool and blockmenu. See also classes_html.m

Definition at line 42 of file irobj.m.

Property irobj::flag_params
protected

=1. (GUI setting) Whether to call a GUI when the block is selected in blockmenu.m . If true, a routine called "uip_"<class name> will be called.

Definition at line 57 of file irobj.m.

Property irobj::flag_ui
protected

(GUI setting) Whether to "publish" in blockmenu and datatool. Note that a class can be "published" without a GUI (set flag_params=0 in this case, at the class constructor).

Definition at line 60 of file irobj.m.

Property irobj::moreactions
protected

(GUI setting) String cell containing names of methods that may be called from the GUIs

Definition at line 63 of file irobj.m.

Property irobj::short
protected

Short for the method name.

Definition at line 53 of file irobj.m.

Property irobj::title

Definition at line 38 of file irobj.m.


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