Commit 8b391796 authored by Jan Möbius's avatar Jan Möbius

Tikz for object update notification

git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@13782 383ad7c9-94d9-4d36-a494-682f7c89f535
parent 7cbd06a1
......@@ -351,7 +351,7 @@ The objects in OpenFlippers scene are stored and managed in OpenFlippers core. I
objects, it has to notify the core about that change. In turn OpenFlipper will then notify all other plugins about
this change. This functionality is provided by the signals and slots for \ref BaseInterfaceUpdateSlots "update handling" .
\image html updateObject.jpg
\image html ObjectUpdateNotification.png
If you change data you have to emit one of BaseInterface::updatedObject(int) or BaseInterface::updatedObject(int,const UpdateType&).
\n
......
......@@ -44,7 +44,7 @@
*
* \subsection ref4 References:
* \ref BaseInterface::updatedObject(),<br>\ref BaseInterface::slotObjectUpdated(),<br>
* \image html updateObject.jpg
* \image html ObjectUpdateNotification.png
*
*
* \section updateView Update view
......
% File showing the updated object flow
% Author: Jan Möbius
\tikzstyle{abstract}=[rectangle, draw=black, rounded corners, fill=blue!30!white, drop shadow,
text centered, text=black, text width=7cm]
\tikzstyle{flow}=[->, >= triangle 90, very thick]
\tikzstyle{CoreGroup} = [fill=orange!30!white,rectangle,rounded corners,draw,inner sep =0.4cm]
\tikzstyle{PluginGroup} = [fill=orange!50!white,rectangle,rounded corners,draw,inner sep =0.4cm]
\begin{center}
\begin{tikzpicture}[node distance=1cm]
\node (ModifiedObject) [abstract, rectangle ]
{
\textbf{Modified Object}
};
\node (Plugins) [above=of ModifiedObject,yshift=-0.3cm] {\textbf{\huge{OpenFlipper Plugins}} };
\node (signalUpdatedObject) [abstract, rectangle, below= of ModifiedObject ]
{
\textbf{signal BaseInterface::updatedObject()}
};
\node (slotObjectUpdated) [abstract, rectangle, below= of signalUpdatedObject ]
{
\textbf{slot BaseInterface::slotObjectUpdated()}
};
\node (perPlugin) [abstract, rectangle, left= of slotObjectUpdated, xshift=-2cm ]
{
\textbf{per plugin}
};
\node (AuxNode) [above=of perPlugin]{};
\node (Core) [above=of perPlugin ,yshift=2.8cm] {\textbf{\huge{OpenFlipper Core}} };
\node (redraw) [abstract, rectangle, below= of perPlugin ]
{
\textbf{Redraw Scene}
};
\node [label=above:received] (X) at ($ (perPlugin)!.5!(slotObjectUpdated) $) {};
\node [label=above:emitted] (X) at ($ (AuxNode)!.5!(signalUpdatedObject) $) {};
\draw[flow] (ModifiedObject.south) -- ++(0,0) -| (signalUpdatedObject.north);
\draw[flow] (signalUpdatedObject.west) -- ++(0,0) -| (perPlugin.north);
\draw[flow] (perPlugin.south) -- ++(0,0) -| (redraw.north);
\draw[flow] (perPlugin.east) -- ++(0,0) |- (slotObjectUpdated.west);
%\draw[flow] (CreateGUI.south) -- ++(0,0) -| (Logging.north);
%\draw[flow] (Logging.south) -- ++(0,0) -| (LoadPlugins.north);
%\draw[flow] (LoadPlugins.south) -- +(0,0) |- (initializePlugin.west);
%\draw[flow] (LoadPlugins.south) -- ++(0,0) -| (perPlugin1.north);
%\draw[flow] (perPlugin1.south) -- ++(0,0) -| (perPlugin2.north);
%\draw[flow] (perPlugin1.east) -- ++(0,0) |- (pluginsInitialized.west);
%\draw[flow] (perPlugin2.south) -- ++(0,0) -| (finalizeGui.north);
%\draw[flow] (perPlugin2.east) -- ++(0,0) |- (loadIni.west);
\begin{pgfonlayer}{background}
\node[CoreGroup,fit=(Core) (redraw) ] (Core) {};
\node[PluginGroup,fit=(Plugins) (slotObjectUpdated) ] (Plugin) {};
\end{pgfonlayer}
\end{tikzpicture}
\end{center}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment