package org.oobd.base.visualizer; import org.oobd.base.support.Onion; /** * * \brief Interface for the GUI elements (buttons, textfields, tables..) to support the OOBD core functions * \ingroup visualisation */ public interface IFvisualizer { /** * /brief does the visualisation element represents a group of values? * * Tells, if that visualisation is a single element, like a button, or does it represent a whole group of visualisations, like an JTable, where each column * of the table is a single visualisation * * * @return true, if group */ public boolean isGroup(); /** * \brief links the visualizer to the real visualization component * \ingroup visualisation * * When e.g. the user press a button, the button needs to tell this to his corrosponding visualizer to start some action. * @param viz */ public void setVisualizer(Visualizer viz); /** * \brief links the visualizer to the real visualization component * \ingroup visualisation * * When e.g. the user press a button, the button needs to tell this to his corrosponding visualizer to start some action. * @param viz */ public Visualizer getVisualizer(); /** * \brief initialize the visualisation object * \ingroup visualisation * * in opposite to just show a value, the initialisation of a visualisation object needs some more information about min & max values, the unit etc. This initial setup is done here * * @param viz the corrosponding visualizer * @param onion an onion data structure containing the details \see http://sourceforge.net/apps/mediawiki/oobd/index.php?title=SKDS:onion for details */ public void initValue(Visualizer viz,Onion onion); /** * \brief requests the update of the visualisation * \ingroup visualisation * * @param viz the corrosponding visualizer * @param onion an onion data structure containing the details \see http://sourceforge.net/apps/mediawiki/oobd/index.php?title=SKDS:onion for details * @return true if update has been done * @todo the usage of the different udpate levels in unclear yet- */ public boolean update(int level); /*** * \brief tells the visualisation class, that a instance, defined by the page its on, is not longer needed * \ingroup visualisation * @param pageID */ public void setRemove(String pageID); }