flora-commits Mailing List for Flora-2
Brought to you by:
kifer
You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(59) |
Jun
(43) |
Jul
(4) |
Aug
(4) |
Sep
(102) |
Oct
(20) |
Nov
(47) |
Dec
(32) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(24) |
Feb
(34) |
Mar
(72) |
Apr
(36) |
May
(10) |
Jun
(46) |
Jul
(36) |
Aug
(24) |
Sep
(37) |
Oct
(27) |
Nov
(43) |
Dec
(40) |
| 2004 |
Jan
(35) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(30) |
Aug
(83) |
Sep
(68) |
Oct
(38) |
Nov
(3) |
Dec
(7) |
| 2005 |
Jan
(9) |
Feb
(31) |
Mar
(46) |
Apr
(73) |
May
(21) |
Jun
(1) |
Jul
(32) |
Aug
(33) |
Sep
(3) |
Oct
(28) |
Nov
(4) |
Dec
(23) |
| 2006 |
Jan
(22) |
Feb
(2) |
Mar
(12) |
Apr
(23) |
May
(73) |
Jun
(14) |
Jul
|
Aug
(20) |
Sep
(14) |
Oct
(5) |
Nov
|
Dec
(14) |
| 2007 |
Jan
(54) |
Feb
(81) |
Mar
(286) |
Apr
(313) |
May
(154) |
Jun
(85) |
Jul
(8) |
Aug
(11) |
Sep
(12) |
Oct
(14) |
Nov
(6) |
Dec
(6) |
| 2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(12) |
May
(4) |
Jun
|
Jul
(13) |
Aug
(22) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(46) |
Jun
(43) |
Jul
(46) |
Aug
(9) |
Sep
(13) |
Oct
(31) |
Nov
(42) |
Dec
(18) |
| 2014 |
Jan
(7) |
Feb
(7) |
Mar
(11) |
Apr
(13) |
May
(16) |
Jun
(6) |
Jul
(17) |
Aug
|
Sep
(2) |
Oct
|
Nov
(1) |
Dec
|
| 2015 |
Jan
|
Feb
(17) |
Mar
(4) |
Apr
(3) |
May
(2) |
Jun
(3) |
Jul
(2) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
1
|
2
|
3
|
4
|
5
(5) |
6
(3) |
7
(19) |
|
8
(7) |
9
(42) |
10
(24) |
11
(6) |
12
(9) |
13
(6) |
14
|
|
15
(9) |
16
(27) |
17
(49) |
18
(6) |
19
|
20
|
21
(12) |
|
22
(26) |
23
(12) |
24
(20) |
25
|
26
|
27
(2) |
28
(4) |
|
29
(1) |
30
(24) |
|
|
|
|
|
|
From: Daniel W. <dan...@us...> - 2007-04-30 20:30:21
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse/docs/manual In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv23834/docs/manual Modified Files: manual.tex Log Message: updated manual Index: manual.tex =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse/docs/manual/manual.tex,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- manual.tex 30 Apr 2007 11:55:13 -0000 1.4 +++ manual.tex 30 Apr 2007 20:30:18 -0000 1.5 @@ -96,8 +96,8 @@ %% ==> TeXnicCenter supplies some possible option files %% ==> with its templates (File | New from Template...). -\newcommand{\FLORA}{{\mbox{\sc ${\cal F}${lora}\rm\emph{-2}}}\xspace} -\newcommand{\FVIZ}{{\mbox{\sc ${\cal F}${lora}\rm\emph{-2}-{Visualizer}}}\xspace} +\newcommand{\FLORA}{{\mbox{\textsc{${\cal F}${lora}\rm\emph{-2}}}}\xspace} +\newcommand{\FVIZ}{{\mbox{\textsc{${\cal F}${lora}\rm\emph{-2}}-\textsc{Visualizer}}}\xspace} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% DOCUMENT @@ -143,7 +143,7 @@ %% Inhaltsverzeichnis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newpage \tableofcontents %Table of contents -%\cleardoublepage %The first chapter should start on an odd page. +\clearpage %The first chapter should start on an odd page. \pagestyle{plain} %Now display headings: headings / fancy / ... @@ -164,7 +164,7 @@ IDE providing \begin{itemize} \item a \emph{text editor} for editing source code - \item a \emph{visualizer} for registered objects + \item a \emph{visualizer} for visualization of registered objects \item a \emph{console} for communication with the \FLORA reasoner \item a \emph{view} for the currently loaded modules \end{itemize} @@ -195,7 +195,7 @@ \label{sec:introduction_installation} \FVIZ is supplied in two ways. It can either be downloaded as standalone program -or just as plugins to contribute to an eclipse application. +or as plugins to contribute to an eclipse application. \begin{enumerate} \item Standalone program:\\ @@ -206,8 +206,11 @@ file or start the program from console. \item Plugin JARs:\\ If you haven't got already an eclipse RCP application (like e.g. the eclipse~SDK) - you need to install one or download the standalone version of \FVIZ.\\ - Otherwise the JAR files just need to be put to the eclipse plugin directory. + you need to install one or download the standalone version of \FVIZ. + Otherwise the JAR files just need to be put to the eclipse plugin directory.\\ + When starting the eclipse you need to open the \FVIZ Perspective. It is located + at \emph{Window} $\rightarrow$ \emph{Open Perspective} $\rightarrow$ \emph{Other...}. + Then choose \emph{Flora} and press \emph{OK}. \end{enumerate} \section{The \FVIZ Reasoner} @@ -263,7 +266,7 @@ \subsection{Configuration} \label{sec:consoleview_configuration} -At the \FLORA Console preference you can change the text highlighting colors. +At the \FLORA Console preference page you can change the text highlighting colors. You can choose between three different writings: \begin{itemize} \item Default color\\ @@ -280,7 +283,7 @@ The \FVIZ Console is used like a normal \FLORA console application. It automatically parses commands or queries and sends it to the \FVIZ Reasoner. The response is color- highlighted for better differentiation.\\ -There are commands commands which weren't typed by the user. These come from GUI actions +Some displayed commands weren't typed by the user. These come from GUI actions and are printed to the \FVIZ Console for better understanding of the program. \section{The \FVIZ Module View} @@ -313,21 +316,21 @@ \begin{itemize} \item \emph{load to module and erase registered objects}\\ This option erases all registered object and loads the file to the specified module. - After the erasure operation there no more objects of the module in the \FVIZ registry. + After the erasure operation are no more objects of the module in the \FVIZ registry. If registration operations are specified in the file they'll be registered after the erasure and therefore won't be affected by the erasure.\\ \lstinline|_load('/home/flora2/demo.flr'>>specifiedModule).| \item \emph{load to module and keep registered objects}\\ This option keeps the registered objects and loads the file to the specified module. - If objects are registered by the file they'll be added to the \FVIZ registration. + If objects are registered by the file they'll be added to the \FVIZ registry. It doesn't make any difference if an object is registered more times. The additional registration will be ignored by the \FVIZ.\\ \lstinline|_load('/home/flora2/demo.flr'>>specifiedModule).| \item \emph{add to module and keep registered objects}\\ This option keeps the registered objects and adds the file to the specified module. - If objects are registered by the file they'll be added to the \FVIZ registration. + If objects are registered by the file they'll be added to the \FVIZ registry. It doesn't make any difference if an object is registered more times. The additional registration will be ignored by the \FVIZ.\\ \lstinline|_add('/home/flora2/demo.flr'>>specifiedModule).| @@ -336,7 +339,7 @@ \subsubsection{Creating new \FLORA modules} \label{sec:moduleview_usage_createmodules} -To create a new \FLORA module can either be done by the \FVIZ Console or by using the +Creating a new \FLORA module can either be done by the \FVIZ Console or by using the \FVIZ Module View. At the view there is the possibility to click the \emph{create new module} button or using the context menu. The context menu can be accessed by right clicking on the table or using the views menu by clicking the triangle in the @@ -354,7 +357,7 @@ Module View the \emph{show erase dialog} must be chosen from the context menu (for accessing the context menu see \ref{sec:moduleview_usage_createmodules}.\\ When \emph{show erase dialog} is selected a dialog pops up. The dialog contains a -table with the currently loaded modules. By clicking the check boxes the dialogs to +table with the currently loaded modules. By clicking the check boxes the modules to erase can be chosen. By clicking the \emph{OK} button selected Modules get erased.\\ \lstinline|erasemodule{specifiedModule}.| @@ -369,6 +372,21 @@ table with the currently loaded modules. At clicking the \emph{OK} button the selected modules will be filtered from view. +\subsection{Menu} +\label{sec:consoleview_menu} + +When the \FVIZ Console View is active the \FLORA menu is extended by the points: + +\begin{itemize} +\item Show Session Log File\\ +Opens the Session Log File in a new \FVIZ Text Editor. This file can be edited and +saved by using \emph{File} $\rightarrow$\emph{Save As}. + +\item Restart \FLORA Reasoner\\ +Restarts the Flora Reasoner. Note that the \FVIZ registry doesn't get affected. + +\end{itemize} + \section{The \FVIZ Text Editor} \label{sec:texteditor} @@ -386,7 +404,7 @@ \item Tab Type\\ If set to Tab the \FVIZ Text Editor writes a \lstinline|'\t'| to the edited \emph{.flr} - file. If set to Space it writes as much \lstinline|' '| to the file as chose at the tab + file. If set to Space it writes as much \lstinline|' '| to the file as chosen at the tab width option. @@ -410,12 +428,12 @@ \begin{itemize} \item Format\\ - This action formats the highlighted (or the whole if nothing is highlighted) text. + This action formats the highlighted (or all if nothing is highlighted) text. When formatting the indentations are corrected if needed and the space between - text tokens get trimmed or expanded. + text tokens gets trimmed or expanded. \item Open Buffer\\ - This action opens a new editor as a buffer. The edited text can be saved as normal file + This action opens a new editor as a buffer. The edited buffer can be saved as normal file by using \emph{File} $\rightarrow$ \emph{Save as}. \item Add Region to Module\\ @@ -431,7 +449,7 @@ To specify the module a dialog pops up and lists all currently loaded modules. \item Load Region\\ - This action adds the selected text of the current \FVIZ Text Editor to the \FLORA + This action loads the selected text of the current \FVIZ Text Editor to the \FLORA main module \item Load Query to Module\\ @@ -457,9 +475,9 @@ $\rightarrow$ \emph{Flora-2 Visualizer}. It allows to change \begin{itemize} \item Node Colors\\ - The colors of the displayed nodes. The module nodes default color is white it doesn't offer + The colors of the displayed nodes. The module nodes default color is white since it doesn't offer any advantages and doesn't need to be seen by the user (it just connects the rest of the - graph). + graph as root node). \item Zoom level\\ The default level of zoom. The zoom level can also be changed in the \FVIZ View to scale the level @@ -473,7 +491,7 @@ node which contains all instances of a class instead of drawing all instances specially. \item Minimum Cluster Size\\ - The minimum size at which the graph draws an instance cluster instead of single instances of class. + The minimum size at which the graph draws an instance cluster instead of single instances. In the \FVIZ View it's possible to switch dynamically between clustering and unclustering the instances of a class (see \ref{sec:visualizerview_usage_contextmenu}). \end{itemize} @@ -484,17 +502,17 @@ The \FVIZ View draws a graph of the specified \FLORA module. A \FVIZ View can be opened by clicking on a \FLORA module at the \FVIZ Module View (see \ref{sec:moduleview}). The visualizer is then opened in a new editor and displays the currently registered objects -of the module. +of the selected module. -\index{registration} +\index{registratxion} \subsubsection{Registration} \label{sec:visualizerview_usage_registration} There are several ways to register objects for the \FVIZ View. The easiest way is to use the \emph{register} button(marked with a green \emph{R}) at the \FVIZ View. When pressed a -display pops up with a field to enter a comma, space or tab separated list of objects to +dialog pops up with a field to enter a comma, space or tab separated list of objects to register.\\ -The other possibility is to register the objects directly in the loaded console or via the +The other possibility is to register the objects directly in the loaded file or via the \FVIZ Console. The command to register objects is\\ \lstinline|<moduleName>[\%register([<registeredObjects>])]@<visualizerModuleName>.|\\ After registering the graph is refreshed (aside from registering by \FVIZ Console). Objects @@ -513,7 +531,7 @@ The selected objects get unregistered when pressing the \emph{OK} button. When using the \FVIZ Console the command\\ \lstinline|<moduleName>[\%unregister([<registeredObjects>])]@<visualizerModuleName>.|\\ -unregisters the objects from the \FVIZ registration.\\ +unregisters the objects from the \FVIZ registry.\\ When unregistering by button the graph automatically refreshes to display the result. \subsubsection{Context Menu} @@ -529,7 +547,7 @@ \item Show details\\ This action opens a dialog with two tables showing the values and types of the current object. Adapted on instance clusters it opens a dialog listing all instances of the cluster. You can double-click the - instances to open the details dialog.\\ + instances to open the details dialog of a module.\\ The details dialog also pop up when double-clicking on a node. \item Cluster\\ @@ -580,4 +598,4 @@ %\input{FileName} %You need a file 'FileName.tex' for this. -\end{document} +\end{document} \ No newline at end of file |
|
From: Daniel W. <dan...@us...> - 2007-04-30 20:06:35
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner/src/net/sourceforge/flora/eclipse/reasoner In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv14280/src/net/sourceforge/flora/eclipse/reasoner Modified Files: FloraReasoner.java Log Message: debugged Index: FloraReasoner.java =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner/src/net/sourceforge/flora/eclipse/reasoner/FloraReasoner.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- FloraReasoner.java 23 Apr 2007 14:58:50 -0000 1.19 +++ FloraReasoner.java 30 Apr 2007 20:06:35 -0000 1.20 @@ -163,7 +163,7 @@ } else if (osName.toUpperCase().contains("win".toUpperCase())) { String prologPathHolder = floraDirectory + File.separatorChar + ".prolog_path_wind"; File prologPathHolderFile = new File(prologPathHolder); - if (!prologPathHolderFile.exists()) + if (prologPathHolderFile.exists()) { try { reader = new BufferedReader(new FileReader(prologPathHolderFile)); |
|
From: Daniel W. <dan...@us...> - 2007-04-30 19:58:41
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner/src/net/sourceforge/flora/eclipse/reasoner/util In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv11004/src/net/sourceforge/flora/eclipse/reasoner/util Modified Files: ConsoleReader.java Log Message: debugged Index: ConsoleReader.java =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner/src/net/sourceforge/flora/eclipse/reasoner/util/ConsoleReader.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ConsoleReader.java 22 Apr 2007 19:49:52 -0000 1.4 +++ ConsoleReader.java 30 Apr 2007 19:58:38 -0000 1.5 @@ -99,6 +99,7 @@ try { while ((sign = parser.read()) >= 0) { +// char thechar = (char) sign; inText = inString || inCharSequence; fQuery.append((char) sign); @@ -109,7 +110,7 @@ parser.reset(); if (Character.isWhitespace(temp) || (temp < 0)) { - Display.getDefault().asyncExec(new Runnable() { + Display.getDefault().syncExec(new Runnable() { public void run() { fReasoner.parseCommand(fQuery.toString(), false, true); } |
|
From: Daniel W. <dan...@us...> - 2007-04-30 19:42:28
|
Update of /cvsroot/flora/flora2/pkgs In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv4794/pkgs Added Files: visualizer.flr Log Message: added visualizer support for flora --- NEW FILE: visualizer.flr --- /* File: visualizer.flr ** ** Author(s): Daniel Winkler ** Contact: flo...@li... ** ** Copyright (C) 2007 Digital Enterprise Research Insitute (DERI) Innsbruck ** ** FLORA-2 Visualizer is free software; you can redistribute it and/or ** modify it under the terms of the GNU Lesser General Public License ** as published by the Free Software Foundation; either version 2 ** of the License, or (at your option) any later version. ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU Lesser General Public License for more details. ** You should have received a copy of the GNU General Public License ** along with this program; if not, write to the Free Software ** Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301, USA. */ ?Mod[%register(?Spec)] :- if is_list(?Spec) then // Spec is a list of objects to register insertall{?Mod[registeredObject->?Obj] | member(?Obj,?Spec)@_prolog(basics), not ?Mod[registeredManually->?Obj]} else if ?Spec=?(?) then // Spec is a unary predicate specifying the set of objects to register insert{?Mod[registeredObject->?Obj] | ?Spec, ?Spec = ${?(?Obj)}, not ?Mod[registeredManually->?Obj]} else %abort(['Visualizer: Invalid object registration request: ', ?Spec])@_system. ?Mod[%unregister(?Spec)] :- if is_list(?Spec) then ( // Spec is a list of objects to deregister deleteall{?Mod[registeredObject->?Obj] | member(?Obj,?Spec)@_prolog(basics)}, deleteall{?Mod[registeredManually->?Obj] | member(?Obj,?Spec)@_prolog(basics)} ) else if ?Spec=?(?) then ( // Spec is a unary predicate specifying the set of objects to deregister deleteall{?Mod[registeredObject->?Obj] | ?Spec, ?Spec = ${?(?Obj)}}, deleteall{?Mod[registeredManually->?Obj] | ?Spec, ?Spec = ${?(?Obj)}} ) else %abort(['Visualizer: Invalid object deregistration request: ', ?Spec])@_system. // can register a single object or a list of objects ?Mod[%registerManually(?Spec)] :- if is_list(?Spec) then insertall{?Mod[registeredManually->?Obj] | member(?Obj,?Spec)@_prolog(basics), not ?Mod[registeredObject->?Obj]} else insert{?Mod[registeredManually->?Spec]|not ?Mod[registeredObject->?Spec]}. // can deregister a single object or a list of objects ?Mod[%unregisterManually(?Spec)] :- if is_list(?Spec) then deleteall{?Mod[registeredManually->?Obj] | member(?Obj,?Spec)@_prolog(basics)} else delete{?Mod[registeredManually->?Spec]}, refresh{?Mod[registeredObject->?Obj]}. ?Mod[registeredObject->?Obj] :- ?Mod[registeredManually->?Obj]. ?Mod[registeredProgrammatically->?Obj] :- ?Mod[registeredObject->?Obj], not ?Mod[registeredManually->?Obj]. // these two are here to prevent "undefined method" errors __[registeredObject-> __]. __[registeredManually-> __]. ?E[instance(?Mod) -> ?I] :- ?L = collectset{?O|?Mod[registeredObject->?O]@_@}, member(?I, ?L)@_prolog(basics), copy_term(?E,?EC)@_prolog(basics), (?I:?E)@?Mod, variant(?E,?EC)@_prolog(subsumes), not((member(?_C,?L)@_prolog(basics), ?_C::?E@?Mod, ?I:?_C@?Mod)). ?E[subclass(?Mod) -> ?SC] :- ?L = collectset{?O|?Mod[registeredObject->?O]@_@}, member(?SC, ?L)@_prolog(basics), copy_term(?E,?EC)@_prolog(basics), (?SC::?E)@?Mod, variant(?E,?EC)@_prolog(subsumes), not((member(?_C,?L)@_prolog(basics), ?_C::?E@?Mod, ?SC::?_C@?Mod)). ?Mod[roots -> ?R] :- ?L = collectset{?O|?Mod[registeredObject->?O]@_@}, member(?R, ?L)@_prolog(basics), not( (member(?_C, ?L)@_prolog(basics), (?_C[subclass(?Mod) -> ?R]; ?_C[instance(?Mod) -> ?R])) ). ?Mod[rootClass -> ?RC] :- ?L = collectset{?O|?Mod[registeredObject->?O]@_@}, ?Mod[roots -> ?RC], (?_I:?RC@?Mod or (?RC::?_S@?Mod, ?_S \= (?;?))). ?Mod[rootInstance -> ?RI] :- ?L = collectset{?O|?Mod[registeredObject->?O]@_@}, ?Mod[roots -> ?RI], not( (?Mod[rootClass -> ?RI]) ). |
|
From: Michael K. <ki...@us...> - 2007-04-30 11:55:15
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse/docs/manual In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv6363/net.sourceforge.flora.eclipse/docs/manual Modified Files: manual.tex literature.bib Log Message: fixed subclass/instance display Index: manual.tex =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse/docs/manual/manual.tex,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- manual.tex 29 Apr 2007 16:00:27 -0000 1.3 +++ manual.tex 30 Apr 2007 11:55:13 -0000 1.4 @@ -228,7 +228,7 @@ \begin{figure}[hp] \centering - \includegraphics[width=0.75\textwidth]{preferencepage_reasoner.jpg} + \includegraphics[width=0.75\textwidth]{preferencepage_reasoner} \caption{\FLORA Reasoner Preference Page} \label{fig:preferencepage_reasoner} \end{figure} @@ -580,4 +580,4 @@ %\input{FileName} %You need a file 'FileName.tex' for this. -\end{document} \ No newline at end of file +\end{document} Index: literature.bib =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse/docs/manual/literature.bib,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- literature.bib 28 Apr 2007 10:16:14 -0000 1.1 +++ literature.bib 30 Apr 2007 11:55:13 -0000 1.2 @@ -1,9 +1,10 @@ @string{RCP = "Rich Client Platform"} -@article{ erh, +@techreport{ erh, AUTHOR = "Eclipse Foundation Inc.", TITLE = "Rich Client Platform", YEAR = "2007", +INSTITUTION = "Eclipse Foundation Inc.", HOWPUBLISHED = "Website", NOTE = "Available online at \url{http://www.eclipse.org/home/categories/rcp.php}; visited on April 25th 2007."} |
|
From: Michael K. <ki...@us...> - 2007-04-30 11:55:15
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner/flr In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv6363/net.sourceforge.flora.eclipse.reasoner/flr Modified Files: hq.flr Log Message: fixed subclass/instance display Index: hq.flr =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner/flr/hq.flr,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- hq.flr 10 Apr 2007 09:28:10 -0000 1.3 +++ hq.flr 30 Apr 2007 11:55:13 -0000 1.4 @@ -24,7 +24,9 @@ ?E[instance(?L,?Mod) -> ?I] :- member(?I, ?L)@_prolog(basics), + copy_term(?E,?EC)@_prolog(basics), (?I:?E)@?Mod, + variant(?E,?EC)@_prolog(subsumes), not((member(?_C,?L)@_prolog(basics), ?_C::?E@?Mod, ?I:?_C@?Mod)) @@ -34,7 +36,9 @@ ?E[subclass(?L,?Mod) -> ?SC] :- member(?SC, ?L)@_prolog(basics), + copy_term(?E,?EC)@_prolog(basics), (?SC::?E)@?Mod, + variant(?E,?EC)@_prolog(subsumes), not((member(?_C,?L)@_prolog(basics), ?_C::?E@?Mod, ?SC::?_C@?Mod)) |
|
From: Michael K. <ki...@us...> - 2007-04-30 09:55:22
|
Update of /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv23004/java/API/net/sourceforge/flora/eclipse/reasoner Removed Files: FloraReasonerPlugin.java FloraReasoner.java Log Message: removed --- FloraReasonerPlugin.java DELETED --- --- FloraReasoner.java DELETED --- |
|
From: Daniel W. <dan...@us...> - 2007-04-30 09:20:15
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner/META-INF In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv8207/META-INF Modified Files: MANIFEST.MF Log Message: updated project settings Index: MANIFEST.MF =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner/META-INF/MANIFEST.MF,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- MANIFEST.MF 17 Apr 2007 19:58:22 -0000 1.5 +++ MANIFEST.MF 30 Apr 2007 09:20:04 -0000 1.6 @@ -22,5 +22,5 @@ net.sourceforge.flora.javaAPI.src, net.sourceforge.flora.javaAPI.util Bundle-ClassPath: ., - lib/interprolog.jar, - lib/flora2java.jar + lib/flora2java.jar, + lib/interprolog.jar |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:54:08
|
Update of /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31900/src/net/sourceforge/flora/eclipse/reasoner Added Files: FloraReasonerPlugin.java Log Message: refactored --- NEW FILE: FloraReasonerPlugin.java --- /* File: FloraReasonerPlugin.java ** ** Author(s): Daniel Winkler ** Contact: flo...@li... ** ** Copyright (C) 2007 Digital Enterprise Research Insitute (DERI) Innsbruck ** ** FLORA-2 Visualizer is free software; you can redistribute it and/or ** modify it under the terms of the GNU Lesser General Public License ** as published by the Free Software Foundation; either version 2 ** of the License, or (at your option) any later version. ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU Lesser General Public License for more details. ** You should have received a copy of the GNU General Public License ** along with this program; if not, write to the Free Software ** Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301, USA. */ package net.sourceforge.flora.eclipse.reasoner; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; /** * The activator class controls the plug-in life cycle */ public class FloraReasonerPlugin extends AbstractUIPlugin { // The plug-in ID public static final String PLUGIN_ID = "net.sourceforge.flora.eclipse.reasoner"; // The shared instance private static FloraReasonerPlugin plugin; // private FloraReasoner fFloraReasoner; /** * The constructor */ public FloraReasonerPlugin() { plugin = this; } /* * (non-Javadoc) * * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) */ public void start(BundleContext context) throws Exception { super.start(context); } /* * (non-Javadoc) * * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) */ public void stop(BundleContext context) throws Exception { plugin = null; super.stop(context); FloraReasoner.getInstance().close(); } /** * Returns the shared instance * * @return the shared instance */ public static FloraReasonerPlugin getDefault() { return plugin; } } |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:53:50
|
Update of /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31638/src/net/sourceforge/flora/eclipse/reasoner Added Files: FloraReasoner.java Log Message: refactored --- NEW FILE: FloraReasoner.java --- /* File: FloraReasoner.java ** ** Author(s): Daniel Winkler ** Contact: flo...@li... ** ** Copyright (C) 2007 Digital Enterprise Research Insitute (DERI) Innsbruck ** ** FLORA-2 Visualizer is free software; you can redistribute it and/or ** modify it under the terms of the GNU Lesser General Public License ** as published by the Free Software Foundation; either version 2 ** of the License, or (at your option) any later version. ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU Lesser General Public License for more details. ** You should have received a copy of the GNU General Public License ** along with this program; if not, write to the Free Software ** Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301, USA. */ package net.sourceforge.flora.eclipse.reasoner; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StringReader; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Observable; import java.util.Vector; import net.sourceforge.flora.eclipse.FloraKeywords; import net.sourceforge.flora.eclipse.console.FloraConsole; import net.sourceforge.flora.eclipse.preferences.FloraPreferenceConstants; import net.sourceforge.flora.eclipse.reasoner.util.ConsoleReader; import net.sourceforge.flora.javaAPI.src.FloraObject; import net.sourceforge.flora.javaAPI.src.FloraSession; import net.sourceforge.flora.javaAPI.util.FlrException; import org.eclipse.core.runtime.FileLocator; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.swt.widgets.Display; /** * The Flora-2 Reasoner * <p> * Opens a Flora-2 Session ({@link net.sourceforge.flora.javaAPI.src.FloraSession}) and supports operations for this session * * @author Daniel Winkler */ public class FloraReasoner extends Observable { private FloraSession fSession = null; private boolean fSessionLoaded = false; private static String DEFAULT_MODULE = "main"; private static String QUERY_START = "?-"; public static String VISUALIZER_MODULE = ""; private FloraConsole fConsole = null; private ConsoleReader fConsoleReader; private File fLogFile = null; private BufferedWriter fLog = null; /** * returns the Singleton Instance of this reasoner * * @return the Singleton Instance of this reasoner */ public static FloraReasoner getInstance() { return InstanceHolder.fReasoner; } /** * holds the Singleton Instance of {@link FloraReasoner} */ private static class InstanceHolder { private static FloraReasoner fReasoner = new FloraReasoner(); } /** * the Constructor * <p> * starts a new {@link FloraSession} and initializes a new {@link ConsoleReader} to read Commands from the {@link FloraConsole} */ private FloraReasoner() { fConsole = FloraConsole.getInstance(); startSession(); fConsoleReader = new ConsoleReader(fConsole.getInputStream()); fConsoleReader.start(); try { fLogFile = File.createTempFile("Log", ".flr"); fLog = new BufferedWriter(new FileWriter(fLogFile)); } catch (Exception e) { fConsole.printlnError("Error with Logfile" + fLogFile.getAbsolutePath() + "\nSession won't be logged"); fConsole.printFloraPrompt(); } } /** * starts a new FloraSession */ private void startSession() { IPreferenceStore store = FloraReasonerPlugin.getDefault().getPreferenceStore(); String engineType = store.getString(FloraPreferenceConstants.REASONER_ENGINE); String floraDirectory = store.getString(FloraPreferenceConstants.REASONER_FLORA_DIRECTORY); VISUALIZER_MODULE = store.getString(FloraPreferenceConstants.REASONER_VISUALIZER_MODULE_NAME); String prologDirectory = ""; BufferedReader reader = null; String osName = System.getProperty("os.name"); if (osName.toUpperCase().contains("linux".toUpperCase())) { String prologPathHolder = floraDirectory + File.separatorChar + ".prolog_path"; File prologPathHolderFile = new File(prologPathHolder); try { reader = new BufferedReader(new FileReader(prologPathHolderFile)); prologDirectory = reader.readLine().trim(); reader.close(); } catch (FileNotFoundException e) { fConsole.printlnError("FLORA-2 Visualizer did not find a configured version of FLORA-2 at a default location."); fConsole .printlnError("Please specify the location of a configured FLORA-2 system using the following menu: Window -> Preferences -> Flora Reasoner"); return; } catch (IOException e) { fConsole.printlnError("Java IOException"); fConsole.printlnError("Please reinstall Flora-2 or contact the Flora-2 Team"); return; } } else if (osName.toUpperCase().contains("cygwin".toUpperCase())) { // TODO cygwin (cygwin says 'Windows XP') String prologPathHolder = floraDirectory + File.separatorChar + ".prolog_path_cygwin"; File prologPathHolderFile = new File(prologPathHolder); try { reader = new BufferedReader(new FileReader(prologPathHolderFile)); prologDirectory = reader.readLine().trim(); reader.close(); } catch (FileNotFoundException e) { fConsole.printlnError("FLORA-2 Visualizer did not find a configured version of FLORA-2 at a default location."); fConsole .printlnError("Please specify the location of a configured FLORA-2 system using the following menu: Window -> Preferences -> Flora Reasoner"); return; } catch (IOException e) { fConsole.printlnError("Java IOException"); fConsole.printlnError("Please reinstall Flora-2 or contact the Flora-2 Team"); return; } } else if (osName.toUpperCase().contains("win".toUpperCase())) { String prologPathHolder = floraDirectory + File.separatorChar + ".prolog_path_wind"; File prologPathHolderFile = new File(prologPathHolder); if (prologPathHolderFile.exists()) { try { reader = new BufferedReader(new FileReader(prologPathHolderFile)); prologDirectory = reader.readLine().trim(); if (prologDirectory.contains("PROLOG=")) { prologDirectory = prologDirectory.substring(prologDirectory.indexOf("PROLOG=") + new String("PROLOG=").length()); prologDirectory = prologDirectory.substring(0, prologDirectory.indexOf("\\xsb")); } reader.close(); } catch (FileNotFoundException e) { fConsole.printlnError("FLORA-2 Visualizer did not find a configured version of FLORA-2 at a default location."); fConsole .printlnError("Please specify the location of a configured FLORA-2 system using the following menu: Window -> Preferences -> Flora Reasoner"); return; } catch (IOException e) { fConsole.printlnError("Java IOException"); fConsole.printlnError("Please reinstall Flora-2 or contact the Flora-2 Team"); return; } } else { prologPathHolder = floraDirectory + File.separatorChar + ".prolog_path_cygwin"; prologPathHolderFile = new File(prologPathHolder); try { reader = new BufferedReader(new FileReader(prologPathHolderFile)); prologDirectory = reader.readLine().trim(); reader.close(); } catch (FileNotFoundException e) { fConsole.printlnError("FLORA-2 Visualizer did not find a configured version of FLORA-2 at a default location."); fConsole .printlnError("Please specify the location of a configured FLORA-2 system using the following menu: Window -> Preferences -> Flora Reasoner"); return; } catch (IOException e) { fConsole.printlnError("Java IOException"); fConsole.printlnError("Please reinstall Flora-2 or contact the Flora-2 Team"); return; } } } // floraDirectory="Z:/windan/flora/flora2"; //FIXME // prologDirectory="Z:/windan/flora/XSB/config/x86-pc-windows/bin"; System.setProperty("FLORADIR", floraDirectory); System.setProperty("PROLOGDIR", prologDirectory); System.setProperty("java.library.path", prologDirectory); System.setProperty("ENGINE", engineType); try { fSession = new FloraSession(); fConsole.showConsole(); fConsole.println("FloraSession initialized"); fConsole.printFloraPrompt(); URL flrURL = null; try { flrURL = FileLocator.toFileURL(FloraReasonerPlugin.getDefault().getBundle().getEntry("/")); } catch (IOException e) { e.printStackTrace(); return; } loadFile(new File(flrURL.getPath() + "flr" + File.separator + "rq.flr"), VISUALIZER_MODULE, false); addFile(new File(flrURL.getPath() + "flr" + File.separator + "hq.flr"), VISUALIZER_MODULE); fSessionLoaded = true; } catch (FlrException e) { fSession = null; fSessionLoaded = false; fConsole.printlnError(e.getMessage()); fConsole.printFloraPrompt(); } } /** * executes a query at the reasoner and returns an Iterator containing the resulting <code>HashMap(s)</code> * * @param query * the query to execute * @param vars * a Vector containing the variables in the query * @param printQuery * prints the query to the <code>FloraConsole</code> if <code>true</code> * @param printResponse * prints the response to the <code>FloraConsole</code> if <code>true</code> * @return Iterator containing the resulting <code>HashMap(s)</code> each HashMap uses the variable as key and returns a {@link FloraObject} of * the variable as value */ public Iterator<HashMap<String, FloraObject>> executeQuery(String query, Vector<String> vars, boolean printQuery, boolean printResponse) { String tempQuery = query.trim(); if (tempQuery.startsWith(QUERY_START)) { tempQuery = tempQuery.substring(2); } Iterator<HashMap<String, FloraObject>> returnValue = null; if (printQuery) fConsole.println(tempQuery); else if (printResponse) fConsole.println(""); try { returnValue = fSession.ExecuteQuery(tempQuery, vars); if (printResponse) { HashMap<String, FloraObject> hashMap = null; FloraObject object = null; while (returnValue.hasNext()) { hashMap = returnValue.next(); for (String var : vars) { object = hashMap.get(var); fConsole.printlnResponse(var + " = " + object.toString()); } fConsole.printlnResponse(""); } } if (printQuery || printResponse) fConsole.printFloraPrompt(); } catch (FlrException e) { fConsole.printlnError(e.getMessage()); fConsole.printFloraPrompt(); } return returnValue; } /** * executes a query at the reasoner and returns an Iterator containing the resulting <code>FloraObject(s)</code> * * @param query * the query to execute * @param printQuery * prints the query to the <code>FloraConsole</code> if <code>true</code> * @param printResponse * prints the response to the <code>FloraConsole</code> if <code>true</code> * @return an Iterator for the resulting {@link FloraObject}s */ public Iterator<FloraObject> executeQuery(String query, boolean printQuery, boolean printResponse) { String tempQuery = query.trim(); if (tempQuery.startsWith(QUERY_START)) { tempQuery = tempQuery.substring(2); } Iterator<FloraObject> returnValue = null; if (printQuery) fConsole.println(tempQuery); else if (printResponse) fConsole.println(""); try { returnValue = fSession.ExecuteQuery(tempQuery); if (printResponse) { FloraObject object = null; while (returnValue.hasNext()) { object = returnValue.next(); fConsole.printlnResponse("?Var = " + object.toString()); } } if (printQuery || printResponse) fConsole.printFloraPrompt(); } catch (FlrException e) { fConsole.printlnError(e.getMessage()); fConsole.printFloraPrompt(); } return returnValue; } // /** // * executes a query at the reasoner and returns an ArrayList containing the resulting <code>HashMap(s)</code> // * // * @param query // * the query to execute // * @param vars // * a Vector containing the variables in the query // * @return ArrayList containing the resulting <code>HashMap(s)</code> each HashMap uses the variable as key and returns a // * {@link FloraObject} of the variable as value // * @see #executeAndPrintQuery(String, Vector) // */ // public ArrayList<HashMap<String, FloraObject>> executeQueryL(String query, Vector<String> vars) { // // Iterator<HashMap<String, FloraObject>> temp = executeQuery(query, vars); // // ArrayList<HashMap<String, FloraObject>> list = new ArrayList<HashMap<String, FloraObject>>(); // // while (temp.hasNext()) // list.add(temp.next()); // // return list; // } // // /** // * executes a query at the reasoner and returns an ArrayList containing the resulting <code>FloraObject(s)</code> // * // * @param query // * the query to execute // * @return an ArrayList for the resulting {@link FloraObject}s // * @see #executeAndPrintQuery(String) // */ // public ArrayList<FloraObject> executeQueryL(String query) { // // Iterator<FloraObject> temp = executeQuery(query); // // ArrayList<FloraObject> list = new ArrayList<FloraObject>(); // // while (temp.hasNext()) // list.add(temp.next()); // // return list; // } /** * executes a Command and notifies the Observers of this Reasoner since a command could change the state of this reasoner * * @param command * the command to execute * @param printCommand * prints the command to the <code>FloraConsole</code> if <code>true</code> * @param printResponse * prints the response to the <code>FloraConsole</code> if <code>true</code> * @param notifyObservers <code>true</code> to notify Observers * @return <code>true</code> if the command executed successful */ public boolean executeCommand(String command, boolean printCommand, boolean printResponse, boolean notifyObservers) { logCommand(command); if (printCommand) fConsole.println(command); else if (printResponse) fConsole.println(""); boolean returnValue = false; try { returnValue = fSession.ExecuteCommand(command); } catch (FlrException e) { fConsole.printlnError(e.getMessage()); fConsole.printFloraPrompt(); } catch (Exception e) { fConsole.printlnError(e.getMessage()); fConsole.printFloraPrompt(); } setChanged(); if (notifyObservers){ Display.getDefault().syncExec(new Runnable() { public void run() { notifyObservers(); clearChanged(); } }); } if (printResponse) fConsole.printlnResponse(returnValue ? "Yes" : "No"); if (printCommand || printResponse) fConsole.printFloraPrompt(); return returnValue; } /** * executes a Command and notifies the Observers of this Reasoner since a command could change the state of this reasoner * * @param command * the command to execute * @param printCommand * prints the command to the <code>FloraConsole</code> if <code>true</code> * @param printResponse * prints the response to the <code>FloraConsole</code> if <code>true</code> * @return <code>true</code> if the command executed successful */ public boolean executeCommand(String command, boolean printCommand, boolean printResponse) { return executeCommand(command, printCommand, printResponse, true); } /** * loads a String to the default Flora-2 module * * @param string * the Text to load */ public void loadString(String string) { loadString(string, DEFAULT_MODULE); } /** * loads a String to a specified module * * @param string * the string to load * @param module * the module in which the string should be loaded */ public void loadString(String string, String module) { final File tempFile = stringToFile(string); loadFile(tempFile, module, false); } /** * adds a String to the default Flora-2 module * * @param string * the Text to add */ public void addString(String string) { addString(string, DEFAULT_MODULE); } /** * adds a String to a specified module * * @param string * the string to add * @param module * the module in which the string should be added */ public void addString(String string, String module) { final File tempFile = stringToFile(string); addFile(tempFile, module); } /** * loads a file to the default module * * @param file * the <code>File</code> to load * @param eraseRegistered * <code>true</code> to erase the registered Objects from Visualizer */ public void loadFile(File file, boolean eraseRegistered) { loadFile(file, DEFAULT_MODULE, eraseRegistered); } /** * loads a <code>File</code> to a given module and cleans the registered objects of the module * * @param file * the <code>File</code> to load * @param module * the module where the <code>File</code> should be loaded * @param eraseRegistered * <code>true</code> to erase the registered Objects from Visualizer */ public void loadFile(File file, String module, boolean eraseRegistered) { String command = "_load('" + file.getAbsolutePath().replace('\\', '/') + "'>>" + module + ")."; if (eraseRegistered) { ArrayList<String> registeredObjects = new ArrayList<String>(); for (FloraObject registeredObject : getProgrammaticallyRegisteredObjects(module)) registeredObjects.add(registeredObject.toString()); if (registeredObjects.size() > 0) unregister(module, registeredObjects, false); for (FloraObject registeredObject : getManuallyRegisteredObjects(module)) registeredObjects.add(registeredObject.toString()); if (registeredObjects.size() > 0) unregisterManually(module, registeredObjects, false); } logCommand(command); fConsole.println(command); fConsole.printFloraPrompt(); fSession.loadFile(file.getAbsolutePath().replace('\\', '/'), module); setChanged(); notifyObservers(module); clearChanged(); } /** * adds a file to the default module * * @param file * the <code>File</code> to add */ public void addFile(File file) { addFile(file, DEFAULT_MODULE); } /** * adds a <code>File</code> to a given module * * @param file * the <code>File</code> to add * @param module * the module where the <code>File</code> should be added */ public void addFile(File file, String module) { String command = "_add('" + file.getAbsolutePath().replace('\\', '/') + "'>>" + module + ")."; logCommand(command); fConsole.println(command); fConsole.printFloraPrompt(); fSession.addFile(file.getAbsolutePath().replace('\\', '/'), module); setChanged(); notifyObservers(module); clearChanged(); } /** * parses a command and either executes it as query or command, depending on occurence of variables (<code>?VAR</code>) * * @param query * the query to parse * @param printCommand * prints the command to the <code>FloraConsole</code> if <code>true</code> * @param printResponse * prints the response to the <code>FloraConsole</code> if <code>true</code> * @see #executeCommand(String) * @see #executeQuery(String) * @see #executeQuery(String, Vector) */ public void parseCommand(String query, boolean printCommand, boolean printResponse) { boolean inText = false; boolean inString = false; boolean inCharSequence = false; boolean inVariableDeclaration = false; StringBuffer fQuery = new StringBuffer(); int sign = 0; StringBuffer var = new StringBuffer(); final Vector<String> vars = new Vector<String>(); StringReader parser = new StringReader(query); try { while ((sign = parser.read()) >= 0) { inText = inString || inCharSequence; if (!inText && Character.isWhitespace((char) sign)) { fQuery.append(' '); } else { fQuery.append((char) sign); } if (inVariableDeclaration) { if ((Character.isWhitespace((char) sign)) || FloraKeywords.isDelimiterStart((char) sign)) { if (!vars.contains(var.toString())) vars.add(var.toString()); var = new StringBuffer(); inVariableDeclaration = !inVariableDeclaration; } else { var.append((char) sign); } } if (!inText && ((char) sign == '?')) { inVariableDeclaration = true; var.append("?"); } if (!inText && ((char) sign == '.')) { parser.mark(1); int temp = parser.read(); parser.reset(); if (Character.isWhitespace(temp) || (temp < 0)) { switch (vars.size()) { case 0: executeCommand(fQuery.toString(), printCommand, printResponse); break; default: executeQuery(fQuery.toString(), vars, printCommand, printResponse); break; } fQuery = new StringBuffer(); var = new StringBuffer(); vars.clear(); continue; } } if ((!inCharSequence) && ((char) sign == '\"')) { inString = !inString; continue; } if ((!inString) && ((char) sign == '\'')) { inCharSequence = !inCharSequence; continue; } } } catch (IOException e) { e.printStackTrace(); } } /** * returns a temporary <code>File</code> containing the given <code>String</code> * * @param content * the content of the new File * @return a temporary <code>File</code> containing the given <code>String</code> */ private static File stringToFile(String content) { File tempFile = null; try { tempFile = File.createTempFile("tempFlora", ".flr"); tempFile.createNewFile(); if (tempFile.canWrite()) { BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); writer.write(content); writer.close(); } } catch (IOException e) { e.printStackTrace(); } return tempFile; } /** * closes the current Session */ protected void close() { fConsoleReader.interrupt(); try { fLog.close(); } catch (IOException e) { e.printStackTrace(); } if (isSessionLoaded()) fSession.close(); } /** * restarts the {@link FloraSession} */ public void restart() { startSession(); setChanged(); notifyObservers(); clearChanged(); } /** * returns <code>true</code> if the {@link FloraSession} is loaded (without errors) * * @return <code>true</code> if the <code>FloraSession</code> is loaded (without errors) */ public boolean isSessionLoaded() { return fSessionLoaded; } /** * logs commands to a temporary log File * * @param command * he command to log */ private void logCommand(String command) { if (fLog != null) { try { fLog.write("?- "); fLog.write(command); fLog.write('\n'); fLog.flush(); } catch (IOException e) { e.printStackTrace(); } } } /** * returns the log <code>File</code> * * @return the log <code>File</code> */ public File getLogFile() { return fLogFile; } /** * Registers the objects of the given list for the Flora-2 Visualizer * * @param module * the module who's elements shall be registered * @param list * the elements to register */ public void register(String module, ArrayList<String> list) { StringBuffer command = new StringBuffer(); command.append(module); command.append("[%registerManually(["); for (int i = 0; i < list.size(); ++i) { command.append(list.get(i)); if (i < list.size() - 1) { command.append(","); } } command.append("])]@"); command.append(VISUALIZER_MODULE); command.append("."); executeCommand(command.toString(), true, true); } /** * Unregisters the objects of the given list * * @param module * the module who's elements shall be unregistered * @param list * the elements to unregister * @return true if unregistered successfully */ public boolean unregister(String module, ArrayList<String> list) { return unregister(module, list, true); } /** * Unregisters the objects of the given list * * @param module * the module who's elements shall be unregistered * @param list * the elements to unregister * @param notifyObservers <code>true</code> to notify Observers * @return true if unregistered successfully */ public boolean unregister(String module, ArrayList<String> list, boolean notifyObservers) { if (list.size() <= 0) return false; StringBuffer command = new StringBuffer(); command.append(module); command.append("[%unregister(["); for (int i = 0; i < list.size(); ++i) { command.append(list.get(i)); if (i < list.size() - 1) { command.append(","); } } command.append("])]@"); command.append(VISUALIZER_MODULE); command.append("."); return executeCommand(command.toString(), true, true, notifyObservers); } /** * Unregisters the objects of the given list * * @param module * the module who's elements shall be unregistered * @param list * the (manually registered) elements to unregister * @param notifyObservers <code>true</code> to notify Observers * @return true if unregistered successfully */ public boolean unregisterManually(String module, ArrayList<String> list) { return unregisterManually(module, list, true); } /** * Unregisters the objects of the given list * * @param module * the module who's elements shall be unregistered * @param list * the (manually registered) elements to unregister * @param notifyObservers <code>true</code> to notify Observers * @return true if unregistered successfully */ public boolean unregisterManually(String module, ArrayList<String> list, boolean notifyObservers) { if (list.size() <= 0) return false; StringBuffer command = new StringBuffer(); command.append(module); command.append("[%unregisterManually(["); for (int i = 0; i < list.size(); ++i) { command.append(list.get(i)); if (i < list.size() - 1) { command.append(","); } } command.append("])]@"); command.append(VISUALIZER_MODULE); command.append("."); return executeCommand(command.toString(), true, true, notifyObservers); } public ArrayList<FloraObject> getRegisteredObjects(String module) { StringBuffer buffer = new StringBuffer(); buffer.append(module); buffer.append("[registeredObject->?X]@"); buffer.append(VISUALIZER_MODULE); buffer.append("."); Iterator<FloraObject> result = executeQuery(buffer.toString(), false, false); ArrayList<FloraObject> resultList = new ArrayList<FloraObject>(); while (result.hasNext()) resultList.add(result.next()); return resultList; } public ArrayList<FloraObject> getManuallyRegisteredObjects(String module) { StringBuffer buffer = new StringBuffer(); buffer.append(module); buffer.append("[registeredManually->?X]@"); buffer.append(VISUALIZER_MODULE); buffer.append("."); Iterator<FloraObject> result = executeQuery(buffer.toString(), false, false); ArrayList<FloraObject> resultList = new ArrayList<FloraObject>(); while (result.hasNext()) resultList.add(result.next()); return resultList; } public ArrayList<FloraObject> getProgrammaticallyRegisteredObjects(String module) { StringBuffer buffer = new StringBuffer(); buffer.append(module); buffer.append("[registeredProgrammatically->?X]@"); buffer.append(VISUALIZER_MODULE); buffer.append("."); Iterator<FloraObject> result = executeQuery(buffer.toString(), false, false); ArrayList<FloraObject> resultList = new ArrayList<FloraObject>(); while (result.hasNext()) resultList.add(result.next()); return resultList; } } |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:53:06
|
Update of /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner/util In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31559/src/net/sourceforge/flora/eclipse/reasoner/util Log Message: Directory /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner/util added to the repository |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:53:05
|
Update of /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner/action In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31559/src/net/sourceforge/flora/eclipse/reasoner/action Log Message: Directory /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner/action added to the repository |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:53:05
|
Update of /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner/object In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31559/src/net/sourceforge/flora/eclipse/reasoner/object Log Message: Directory /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner/object added to the repository |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:53:05
|
Update of /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner/preference In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31559/src/net/sourceforge/flora/eclipse/reasoner/preference Log Message: Directory /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner/preference added to the repository |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:53:05
|
Update of /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31559/src/net/sourceforge/flora/eclipse/reasoner Log Message: Directory /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse/reasoner added to the repository |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:53:05
|
Update of /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31559/src/net/sourceforge/flora/eclipse Log Message: Directory /cvsroot/flora/flora2/java/API/net/sourceforge/flora/eclipse added to the repository |
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.visualizer/src/net/sourceforge/flora/eclipse/visualizer/dialog In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31506/src/net/sourceforge/flora/eclipse/visualizer/dialog Modified Files: NodeDialog.java UnregisterDialog.java ClusterDialog.java Log Message: set maximal dialog size Index: UnregisterDialog.java =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.visualizer/src/net/sourceforge/flora/eclipse/visualizer/dialog/UnregisterDialog.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- UnregisterDialog.java 22 Apr 2007 19:21:19 -0000 1.6 +++ UnregisterDialog.java 30 Apr 2007 08:52:15 -0000 1.7 @@ -37,7 +37,6 @@ import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; @@ -75,16 +74,16 @@ fModule = module; } - /** - * trims the window to a maximal size of 800x600 - * @see org.eclipse.jface.dialogs.Dialog#getInitialSize() - */ - protected Point getInitialSize() { - Point point = super.getInitialSize(); - point.x = ((point.x > 800) ? 800 : point.x); - point.y = ((point.y > 600) ? 800 : point.y); - return point; - } +// /** +// * trims the window to a maximal size of 800x600 +// * @see org.eclipse.jface.dialogs.Dialog#getInitialSize() +// */ +// protected Point getInitialSize() { +// Point point = super.getInitialSize(); +// point.x = ((point.x > 800) ? 800 : point.x); +// point.y = ((point.y > 600) ? 800 : point.y); +// return point; +// } /* * (non-Javadoc) @@ -119,7 +118,8 @@ gridData = new GridData(); gridData.horizontalSpan = 1; gridData.horizontalAlignment = GridData.FILL; - gridData.grabExcessHorizontalSpace = true; + gridData.widthHint = 200; + gridData.heightHint = 200; tableViewerMan.getControl().setLayoutData(gridData); tableViewerMan.setContentProvider(new ManTableViewerContentProvider()); tableViewerMan.setLabelProvider(new TableViewerLabelProvider()); @@ -201,7 +201,8 @@ gridData = new GridData(); gridData.horizontalSpan = 1; gridData.horizontalAlignment = GridData.FILL; - gridData.grabExcessHorizontalSpace = true; + gridData.widthHint = 200; + gridData.heightHint = 200; tableViewerProg.getControl().setLayoutData(gridData); tableViewerProg.setContentProvider(new ProgTableViewerContentProvider()); tableViewerProg.setLabelProvider(new TableViewerLabelProvider()); Index: ClusterDialog.java =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.visualizer/src/net/sourceforge/flora/eclipse/visualizer/dialog/ClusterDialog.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ClusterDialog.java 23 Apr 2007 16:04:30 -0000 1.3 +++ ClusterDialog.java 30 Apr 2007 08:52:15 -0000 1.4 @@ -77,8 +77,8 @@ */ protected Point getInitialSize() { Point point = super.getInitialSize(); - point.x = ((point.x > 800) ? 800 : point.x); - point.y = ((point.y > 600) ? 800 : point.y); + point.x = ((point.x > 600) ? 600 : point.x); + point.y = ((point.y > 600) ? 600 : point.y); return point; } Index: NodeDialog.java =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.visualizer/src/net/sourceforge/flora/eclipse/visualizer/dialog/NodeDialog.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- NodeDialog.java 23 Apr 2007 16:04:30 -0000 1.3 +++ NodeDialog.java 30 Apr 2007 08:52:15 -0000 1.4 @@ -100,10 +100,10 @@ CTabItem item = new CTabItem(theFolder, SWT.NONE); item.setText("Values"); - TableViewer viewer = new TableViewer(theFolder); + TableViewer viewer = new TableViewer(theFolder, SWT.H_SCROLL | SWT.V_SCROLL); // Set up the table Table table = viewer.getTable(); - + TableColumn tc = new TableColumn(table, SWT.LEFT, 0); tc.setWidth(150); @@ -126,7 +126,7 @@ item = new CTabItem(theFolder, SWT.NONE); item.setText("Types"); - viewer = new TableViewer(theFolder); + viewer = new TableViewer(theFolder, SWT.H_SCROLL | SWT.V_SCROLL); // Set up the table table = viewer.getTable(); |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:52:30
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.module/src/net/sourceforge/flora/eclipse/module/dialog In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31524/src/net/sourceforge/flora/eclipse/module/dialog Modified Files: EraseModuleDialog.java FilterModuleDialog.java Log Message: set maximal dialog size Index: EraseModuleDialog.java =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.module/src/net/sourceforge/flora/eclipse/module/dialog/EraseModuleDialog.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- EraseModuleDialog.java 22 Apr 2007 19:32:43 -0000 1.3 +++ EraseModuleDialog.java 30 Apr 2007 08:52:30 -0000 1.4 @@ -32,7 +32,6 @@ import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; @@ -62,16 +61,16 @@ super(parentShell); } - /** - * trims the window to a maximal size of 800x600 - * @see org.eclipse.jface.dialogs.Dialog#getInitialSize() - */ - protected Point getInitialSize() { - Point point = super.getInitialSize(); - point.x = ((point.x > 800) ? 800 : point.x); - point.y = ((point.y > 600) ? 800 : point.y); - return point; - } +// /** +// * trims the window to a maximal size of 800x600 +// * @see org.eclipse.jface.dialogs.Dialog#getInitialSize() +// */ +// protected Point getInitialSize() { +// Point point = super.getInitialSize(); +// point.x = ((point.x > 800) ? 800 : point.x); +// point.y = ((point.y > 600) ? 800 : point.y); +// return point; +// } /* * (non-Javadoc) @@ -93,12 +92,13 @@ description.setLayoutData(gridData); description.setText("Please choose modules to erase"); - Table table = new Table(area, SWT.CHECK | SWT.BORDER); + Table table = new Table(area, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); tableViewer = new CheckboxTableViewer(table); gridData = new GridData(); gridData.horizontalSpan = 1; gridData.horizontalAlignment = GridData.FILL; - gridData.grabExcessHorizontalSpace = true; + gridData.widthHint = 200; + gridData.heightHint = 200; tableViewer.getControl().setLayoutData(gridData); tableViewer.setContentProvider(new TableViewerContentProvider()); tableViewer.setLabelProvider(new TableViewerLabelProvider()); Index: FilterModuleDialog.java =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.module/src/net/sourceforge/flora/eclipse/module/dialog/FilterModuleDialog.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- FilterModuleDialog.java 22 Apr 2007 19:32:43 -0000 1.3 +++ FilterModuleDialog.java 30 Apr 2007 08:52:30 -0000 1.4 @@ -32,7 +32,6 @@ import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; @@ -65,16 +64,16 @@ fFilter = filter; } - /** - * trims the window to a maximal size of 800x600 - * @see org.eclipse.jface.dialogs.Dialog#getInitialSize() - */ - protected Point getInitialSize() { - Point point = super.getInitialSize(); - point.x = ((point.x > 800) ? 800 : point.x); - point.y = ((point.y > 600) ? 800 : point.y); - return point; - } +// /** +// * trims the window to a maximal size of 800x600 +// * @see org.eclipse.jface.dialogs.Dialog#getInitialSize() +// */ +// protected Point getInitialSize() { +// Point point = super.getInitialSize(); +// point.x = ((point.x > 800) ? 800 : point.x); +// point.y = ((point.y > 600) ? 800 : point.y); +// return point; +// } /* * (non-Javadoc) @@ -101,7 +100,8 @@ gridData = new GridData(); gridData.horizontalSpan = 1; gridData.horizontalAlignment = GridData.FILL; - gridData.grabExcessHorizontalSpace = true; + gridData.widthHint = 200; + gridData.heightHint = 200; tableViewer.getControl().setLayoutData(gridData); tableViewer.setContentProvider(new TableViewerContentProvider()); tableViewer.setLabelProvider(new TableViewerLabelProvider()); |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:52:28
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31127 Modified Files: plugin.xml .classpath build.properties Log Message: updated project settings Index: .classpath =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner/.classpath,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- .classpath 17 Apr 2007 19:58:22 -0000 1.3 +++ .classpath 30 Apr 2007 08:51:45 -0000 1.4 @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="src"/> - <classpathentry exported="true" kind="lib" path="lib/interprolog.jar"/> + <classpathentry excluding="com/declarativa/interprolog/|com/declarativa/interprolog/examples/|com/declarativa/interprolog/examples/SudokuPuzzles/|com/declarativa/interprolog/gnu/|com/declarativa/interprolog/gui/|com/declarativa/interprolog/gui/images/|com/declarativa/interprolog/swi/|com/declarativa/interprolog/util/|com/declarativa/interprolog/xsb/|com/declarativa/interprolog/yap/|com/xsb/interprolog/|net/sourceforge/flora/javaAPI/src/|net/sourceforge/flora/javaAPI/util/" kind="src" path="src"/> <classpathentry exported="true" kind="lib" path="lib/flora2java.jar"/> + <classpathentry exported="true" kind="lib" path="lib/interprolog.jar"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> <classpathentry kind="output" path="bin"/> Index: build.properties =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner/build.properties,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- build.properties 17 Apr 2007 20:02:52 -0000 1.5 +++ build.properties 30 Apr 2007 08:51:45 -0000 1.6 @@ -3,9 +3,9 @@ bin.includes = META-INF/,\ plugin.xml,\ .,\ - lib/,\ flr/hq.flr,\ - flr/rq.flr + flr/rq.flr,\ + lib/ src.includes = META-INF/,\ plugin.xml,\ src/,\ Index: plugin.xml =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.reasoner/plugin.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- plugin.xml 24 Apr 2007 10:56:59 -0000 1.2 +++ plugin.xml 30 Apr 2007 08:51:45 -0000 1.3 @@ -29,7 +29,7 @@ <action class="net.sourceforge.flora.eclipse.reasoner.action.ShowLogAction" id="net.sourceforge.flora.eclipse.reasoner.showLogAction" - label="Show the Session Log File" + label="Show Session Log File" menubarPath="net.sourceforge.flora.eclipse.menu/reasoner" style="push" tooltip="shows the log file of the current session"/> |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:52:28
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31110 Modified Files: flora.product build.properties .project Log Message: updated project settings Index: .project =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse/.project,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- .project 13 Mar 2007 22:26:26 -0000 1.1 +++ .project 30 Apr 2007 08:51:39 -0000 1.2 @@ -6,6 +6,11 @@ </projects> <buildSpec> <buildCommand> + <name>net.sourceforge.texlipse.builder.TexlipseBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> @@ -22,6 +27,7 @@ </buildCommand> </buildSpec> <natures> + <nature>net.sourceforge.texlipse.builder.TexlipseNature</nature> <nature>org.eclipse.pde.PluginNature</nature> <nature>org.eclipse.jdt.core.javanature</nature> </natures> Index: flora.product =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse/flora.product,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- flora.product 24 Apr 2007 12:18:54 -0000 1.3 +++ flora.product 30 Apr 2007 08:51:39 -0000 1.4 @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <?pde version="3.1"?> -<product name="Flora-2 Visualizer" id="net.sourceforge.flora.eclipse.product" application="net.sourceforge.flora.eclipse.net.sourceforge.flora.eclipse.application" useFeatures="false"> +<product name="Flora-2 Visualizer" id="net.sourceforge.flora.eclipse.product" application="org.eclipse.ui.ide.workbench" useFeatures="false"> <aboutInfo> <image path="/net.sourceforge.flora.eclipse/icons/about.gif"/> @@ -57,11 +57,10 @@ <plugin id="org.eclipse.core.expressions"/> <plugin id="org.eclipse.core.filebuffers"/> <plugin id="org.eclipse.core.filesystem"/> - <plugin id="org.eclipse.core.filesystem.win32.x86" fragment="true"/> + <plugin id="org.eclipse.core.filesystem.linux.x86" fragment="true"/> <plugin id="org.eclipse.core.jobs"/> <plugin id="org.eclipse.core.resources"/> <plugin id="org.eclipse.core.resources.compatibility" fragment="true"/> - <plugin id="org.eclipse.core.resources.win32" fragment="true"/> <plugin id="org.eclipse.core.runtime"/> <plugin id="org.eclipse.core.runtime.compatibility"/> <plugin id="org.eclipse.core.runtime.compatibility.auth"/> @@ -75,7 +74,7 @@ <plugin id="org.eclipse.jface.text"/> <plugin id="org.eclipse.osgi"/> <plugin id="org.eclipse.swt"/> - <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/> + <plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/> <plugin id="org.eclipse.text"/> <plugin id="org.eclipse.ui"/> <plugin id="org.eclipse.ui.console"/> @@ -83,12 +82,11 @@ <plugin id="org.eclipse.ui.forms"/> <plugin id="org.eclipse.ui.ide"/> <plugin id="org.eclipse.ui.views"/> - <plugin id="org.eclipse.ui.win32" fragment="true"/> <plugin id="org.eclipse.ui.workbench"/> <plugin id="org.eclipse.ui.workbench.texteditor"/> <plugin id="org.eclipse.update.configurator"/> <plugin id="org.eclipse.update.core"/> - <plugin id="org.eclipse.update.core.win32" fragment="true"/> + <plugin id="org.eclipse.update.core.linux" fragment="true"/> <plugin id="org.eclipse.update.ui"/> <plugin id="org.junit"/> </plugins> Index: build.properties =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse/build.properties,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- build.properties 17 Apr 2007 20:02:49 -0000 1.5 +++ build.properties 30 Apr 2007 08:51:39 -0000 1.6 @@ -15,6 +15,9 @@ splash.bmp,\ build.properties,\ flora.product,\ - plugin_customization.ini + plugin_customization.ini,\ + docs/manual/manual.tex,\ + docs/manual/literature.bib,\ + docs/manual/preferencepage_reasoner.jpg bin.excludes = icons/about.xcf,\ icons/splash.xcf |
|
From: Daniel W. <dan...@us...> - 2007-04-30 08:52:28
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.visualizer In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31098 Modified Files: build.properties Log Message: updated project settings Index: build.properties =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.visualizer/build.properties,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- build.properties 21 Apr 2007 20:26:40 -0000 1.3 +++ build.properties 30 Apr 2007 08:51:32 -0000 1.4 @@ -4,10 +4,13 @@ .,\ plugin.xml,\ icons/,\ - lib/,\ - lib/jpowergraph.jar + lib/ src.includes = META-INF/,\ icons/,\ lib/,\ plugin.xml,\ src/ +bin.excludes = lib/jpowergraph-0.2-common.jar,\ + lib/jpowergraph-0.2-swt.jar +src.excludes = lib/jpowergraph-0.2-common.jar,\ + lib/jpowergraph-0.2-swt.jar |
|
From: Daniel W. <dan...@us...> - 2007-04-30 07:08:19
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.texteditor In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv23607 Modified Files: plugin.xml Log Message: change name Index: plugin.xml =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.texteditor/plugin.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- plugin.xml 24 Apr 2007 10:56:43 -0000 1.2 +++ plugin.xml 30 Apr 2007 07:08:18 -0000 1.3 @@ -29,7 +29,7 @@ category="net.sourceforge.flora.eclipse.preferencePage" class="net.sourceforge.flora.eclipse.texteditor.preferences.FloraPreferencePage" id="net.sourceforge.flora.eclipse.texteditor.preferencePage" - name="Flora-2 Texteditor"/> + name="Flora-2 Text Editor"/> </extension> <extension point="org.eclipse.core.runtime.preferences"> |
|
From: Daniel W. <dan...@us...> - 2007-04-30 07:07:47
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.texteditor/src/net/sourceforge/flora/eclipse/texteditor/editor/scanners In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv23229/src/net/sourceforge/flora/eclipse/texteditor/editor/scanners Modified Files: FloraCodeScanner.java Log Message: refactored codescanner Index: FloraCodeScanner.java =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.texteditor/src/net/sourceforge/flora/eclipse/texteditor/editor/scanners/FloraCodeScanner.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- FloraCodeScanner.java 9 Apr 2007 23:16:20 -0000 1.4 +++ FloraCodeScanner.java 30 Apr 2007 07:07:46 -0000 1.5 @@ -104,9 +104,18 @@ atSignRule.addWord("@", atSignToken); rules.add(atSignRule); + // VRConnectives + WordRule vrcRule = new WordRule(new ValueReferenceDetector(), defaultToken); + for (String keyword : FloraKeywords.getValueReferenceConectives()) { + vrcRule.addWord(keyword, signToken); + } + rules.add(vrcRule); + // Signs + ArrayList<String> signs = FloraKeywords.getSigns(); + signs.removeAll(FloraKeywords.getValueReferenceConectives()); WordRule signRule = new WordRule(new SignDetector(), defaultToken); - for (String keyword : FloraKeywords.getSigns()) { + for (String keyword : signs) { signRule.addWord(keyword, signToken); } rules.add(signRule); @@ -125,7 +134,7 @@ } private class SignDetector implements IWordDetector { - String chars = "#_%*:-+>=?"; + String chars = "#_%:=?"; public boolean isWordPart(char character) { return (chars.indexOf(character) >= 0); @@ -135,6 +144,19 @@ return (chars.indexOf(character) >= 0); } } + + private class ValueReferenceDetector implements IWordDetector { + String chars = "*-+>"; + + public boolean isWordPart(char character) { + return (chars.indexOf(character) >= 0); + } + + public boolean isWordStart(char character) { + return (chars.indexOf(character) >= 0); + } + } + private class AtSignDetector implements IWordDetector { String chars = "@"; |
|
From: Daniel W. <dan...@us...> - 2007-04-30 07:06:43
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.texteditor/src/net/sourceforge/flora/eclipse/texteditor/editor/rules In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv22826/src/net/sourceforge/flora/eclipse/texteditor/editor/rules Modified Files: FloraVariableDetector.java Log Message: debugging Index: FloraVariableDetector.java =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse.texteditor/src/net/sourceforge/flora/eclipse/texteditor/editor/rules/FloraVariableDetector.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- FloraVariableDetector.java 10 Apr 2007 12:02:41 -0000 1.3 +++ FloraVariableDetector.java 30 Apr 2007 07:06:43 -0000 1.4 @@ -29,7 +29,7 @@ } public boolean isWordStart(char c) { - return (c == '?'); + return ((c == '?')||(c == '_')); } } |
|
From: Daniel W. <dan...@us...> - 2007-04-29 16:00:32
|
Update of /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse/docs/manual In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv30363/docs/manual Modified Files: manual.tex Log Message: updated manual Index: manual.tex =================================================================== RCS file: /cvsroot/flora/flora2-visualizer/net.sourceforge.flora.eclipse/docs/manual/manual.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- manual.tex 28 Apr 2007 16:18:00 -0000 1.2 +++ manual.tex 29 Apr 2007 16:00:27 -0000 1.3 @@ -124,7 +124,7 @@ \title{\FVIZ: User's Manual} \author{{\href{mailto:wi...@gm...}{Daniel Winkler}$^1$ \hspace{1cm} Michael Kifer$^2$ } \\\\ -$^1$\href{uibk.ac.at}{University of Innsbruck}\\ +$^1$\href{http://uibk.ac.at}{University of Innsbruck}\\ Christoph-Probst-Platz\\ Innrain 52\\ 6020 Innsbruck, Austria @@ -143,7 +143,7 @@ %% Inhaltsverzeichnis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newpage \tableofcontents %Table of contents -\cleardoublepage %The first chapter should start on an odd page. +%\cleardoublepage %The first chapter should start on an odd page. \pagestyle{plain} %Now display headings: headings / fancy / ... @@ -158,6 +158,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Introduction} +\label{sec:introduction} + \FVIZ is indented to be used for developing \FLORA programs. It's an IDE providing \begin{itemize} @@ -168,8 +170,10 @@ \end{itemize} \subsection{Technology} +\label{sec:introduction_technology} + \FVIZ is based on the \emph{eclipse RCP} framework and is therefore able to -run on different operation systems, such as Windows, Linux and Mac OS. Just +run on different operating systems, such as Windows, Linux and Mac OS. Just Java (version >= 1.5) needs to be installed on the system. \begin{flushright} @@ -178,7 +182,7 @@ Eclipse RCP is a platform for building and deploying rich client applications. It includes Equinox, a component framework based on the OSGi standard, the ability to deploy native GUI applications to a variety of desktop operating -systems, such as Windows, Linux and Mac OSX and an integrated update mechanism +systems, such as Windows, Linux and Mac OS X and an integrated update mechanism for deploying desktop applications from a central server.\cite{erh} \end{minipage} } @@ -188,31 +192,34 @@ system. \FLORA is available at \url{flora.sourceforge.net}. \subsection{Installation} +\label{sec:introduction_installation} -\FVIZ is supplied in two ways. You can either download standalone program -as compressed folder or just the plugins to contribute to a eclipse -application. +\FVIZ is supplied in two ways. It can either be downloaded as standalone program +or just as plugins to contribute to an eclipse application. \begin{enumerate} - \item Standalone program:\\ - You downloaded a compressed folder which can be extracted somewhere on your - system. To run it just start the executable file inside the eclipse directory. - On Windows the file to run the program is called \textsc{flora2visualizer.exe}, - on Unix just \textsc{flora2visualizer}. You can either double-click on the - file or start the program from console. - \item Plugin JARs:\\ - If you haven't got already an eclipse RCP application (like e.g. the eclipse~SDK) - you need to install one or download the standalone version of \FVIZ.\\ - Otherwise you just need to put the JAR files to your eclipse plugin directory and - (re)start the eclipse application. +\item Standalone program:\\ + You downloaded a compressed folder which can be extracted somewhere on the + system. To run it the executable file inside the eclipse directory must be started. + On Windows the file to run the program is called \textsc{flora2visualizer.exe}, + on Unix \textsc{flora2visualizer}. You can either double-click on the + file or start the program from console. +\item Plugin JARs:\\ + If you haven't got already an eclipse RCP application (like e.g. the eclipse~SDK) + you need to install one or download the standalone version of \FVIZ.\\ + Otherwise the JAR files just need to be put to the eclipse plugin directory. \end{enumerate} \section{The \FVIZ Reasoner} +\label{sec:reasoner} + The \FVIZ is connected to \FLORA by a Reasoner which uses the \emph{javaAPI} and Declarativas\footnote{\url{www.declarativa.com}} interprolog for communication. \subsection{Configuration} -The first thing to use the \FVIZ is to configure the \FLORA Reasoner. This is done +\label{sec:reasoner_configuration} + +The first thing to do is to configure the \FLORA Reasoner. This is done at the preference pages of the application. These can be accessed by the menu \emph{Window} $\rightarrow$ \emph{Preferences}. At the preference page you have to choose \FLORA Preferences $\rightarrow$ \FLORA @@ -226,14 +233,27 @@ \label{fig:preferencepage_reasoner} \end{figure} -After you did that the Reasoner automatically restarts and your program is ready to -use.\\\\ -Engine...\\ -Visualizer Module name... +The preference page allows to customize +\begin{itemize} +\item Flora Directory\\ + Specifies the directory where \FLORA is located. + +\item Flora Engine\\ + Specifies the Flora engine. Since Native doesn't work on Linux the standard value + is set to Subprocess. + For more information read the \FLORA javaAPI manual. + +\item Visualizer Module Name\\ + The name of the visualizer module. The standard name is set to \emph{visualizer}. +\end{itemize} + +After applying the changes the Reasoner automatically restarts and the program +is ready to use.\\ \subsection{Usage} -can't use it...runs in background -accessed by following components +\label{sec:reasoner_usage} + +The \FVIZ Reasoner cannot be used directly. It's accessed by the following components. \section{The \FVIZ Console} \label{sec:consoleview} @@ -241,6 +261,8 @@ The \FVIZ Console allows you to communicate with the current \FLORA session. \subsection{Configuration} +\label{sec:consoleview_configuration} + At the \FLORA Console preference you can change the text highlighting colors. You can choose between three different writings: \begin{itemize} @@ -253,6 +275,8 @@ \end{itemize} \subsection{Usage} +\label{sec:consoleview_usage} + The \FVIZ Console is used like a normal \FLORA console application. It automatically parses commands or queries and sends it to the \FVIZ Reasoner. The response is color- highlighted for better differentiation.\\ @@ -260,24 +284,28 @@ and are printed to the \FVIZ Console for better understanding of the program. \section{The \FVIZ Module View} -\label{sec:modulview} - - +\label{sec:moduleview} The \FVIZ Module View shows all currently loaded modules (except the module which keeps the \FVIZ module). It supports creation, erasure and hiding of \FLORA modules. \subsection{Configuration} +\label{sec:moduleview_configuration} + The \FVIZ Module View doesn't need to be configured. \subsection{Usage} +\label{sec:moduleview_usage} + Since the \FVIZ Reasoner isn't able to load or add files by command line, you need to use the \FVIZ Module View to do this operations. This has the benefit that it automatically refresh all affected views.\\ %Creation of \FLORA modules can be done by the \fVIZ Console \subsubsection{Loading and adding files} +\label{sec:moduleview_usage_loadingandadding} + To load or add a file to a specific \FLORA module, it simply needs to be grabbed at the \FVIZ Navigator View and dragged to the the \FVIZ Module View. Here it can be dropped at \FLORA module it has to be added or loaded. At dropping a context menu appears which @@ -293,20 +321,20 @@ \item \emph{load to module and keep registered objects}\\ This option keeps the registered objects and loads the file to the specified module. If objects are registered by the file they'll be added to the \FVIZ registration. - It doesn't make any difference if a object is registered more times. The additional + It doesn't make any difference if an object is registered more times. The additional registration will be ignored by the \FVIZ.\\ \lstinline|_load('/home/flora2/demo.flr'>>specifiedModule).| \item \emph{add to module and keep registered objects}\\ This option keeps the registered objects and adds the file to the specified module. If objects are registered by the file they'll be added to the \FVIZ registration. - It doesn't make any difference if a object is registered more times. The additional + It doesn't make any difference if an object is registered more times. The additional registration will be ignored by the \FVIZ.\\ \lstinline|_add('/home/flora2/demo.flr'>>specifiedModule).| \end{itemize} \subsubsection{Creating new \FLORA modules} -\label{sec:create_modules} +\label{sec:moduleview_usage_createmodules} To create a new \FLORA module can either be done by the \FVIZ Console or by using the \FVIZ Module View. At the view there is the possibility to click the \emph{create new @@ -319,12 +347,12 @@ \lstinline|newmodule{specifiedModule}.| \subsubsection{Erasing \FLORA modules} -\label{sec:erase_modules} +\label{sec:moduleview_usage_erasemodules} -Like at \ref{sec:create_modules} the \FLORA modules can either be erased by using the +Like at \ref{sec:moduleview_usage_createmodules} the \FLORA modules can either be erased by using the \FVIZ Console or by using the \FVIZ Module View. To erase \FLORA modules by the \FVIZ Module View the \emph{show erase dialog} must be chosen from the context menu (for -accessing the context menu see \ref{sec:create_modules}.\\ +accessing the context menu see \ref{sec:moduleview_usage_createmodules}.\\ When \emph{show erase dialog} is selected a dialog pops up. The dialog contains a table with the currently loaded modules. By clicking the check boxes the dialogs to erase can be chosen. By clicking the \emph{OK} button selected Modules get erased.\\ @@ -332,11 +360,11 @@ \subsubsection{Filtering \FLORA modules} -\label{sec:hide_modules} +\label{sec:moduleview_usage_filtermodules} To filter \FLORA modules from the \FVIZ Module View the \emph{show filter dialog} must be chosen from the context menu (for accessing the context menu see -\ref{sec:create_modules}.\\ +\ref{sec:moduleview_usage_createmodules}).\\ When \emph{show filter dialog} is selected a dialog pops up. The dialog contains a table with the currently loaded modules. At clicking the \emph{OK} button the selected modules will be filtered from view. @@ -351,10 +379,10 @@ \label{sec:texteditor_configuration} The \FVIZ Text Editor configuration page is located at \emph{Flora-2 Preferences} -$\rightarrow$ \emph{Flora-2 Texteditor}. It allows to change +$\rightarrow$ \emph{Flora-2 Text Editor}. It allows to change \begin{itemize} \item Tab width\\ - The number of whitespace characters which are displayed when a tab is written + The number of space characters which are displayed when a tab is written \item Tab Type\\ If set to Tab the \FVIZ Text Editor writes a \lstinline|'\t'| to the edited \emph{.flr} @@ -371,7 +399,7 @@ \label{sec:texteditor_usage} The \FVIZ Text Editor is a text editor for \FLORA files. It automatically highlights -the text for better identifaction of the text parts. It also automatically indents +the text for better identification of the text parts. It also automatically indents the text when writing newlines. Another way to indent the text is to press the tab key. In this case the current line automatically gets indented. @@ -383,7 +411,7 @@ \begin{itemize} \item Format\\ This action formats the highlighted (or the whole if nothing is highlighted) text. - When formatting the indentations are corrected if needed and the whitespaces between + When formatting the indentations are corrected if needed and the space between text tokens get trimmed or expanded. \item Open Buffer\\ @@ -445,7 +473,7 @@ node which contains all instances of a class instead of drawing all instances specially. \item Minimum Cluster Size\\ - The minimum size at which the graph draws a instance cluster instead of single instances of class. + The minimum size at which the graph draws an instance cluster instead of single instances of class. In the \FVIZ View it's possible to switch dynamically between clustering and unclustering the instances of a class (see \ref{sec:visualizerview_usage_contextmenu}). \end{itemize} @@ -464,7 +492,7 @@ There are several ways to register objects for the \FVIZ View. The easiest way is to use the \emph{register} button(marked with a green \emph{R}) at the \FVIZ View. When pressed a -display pops up with a field to enter a comma, space or tab seperated list of objects to +display pops up with a field to enter a comma, space or tab separated list of objects to register.\\ The other possibility is to register the objects directly in the loaded console or via the \FVIZ Console. The command to register objects is\\ @@ -476,31 +504,48 @@ \subsubsection{Unregistration} \label{sec:visualizerview_usage_unregistration} -Like at \ref{sec:visualizer_usage_unregistration} there are also different ways to unregister +Like at \ref{sec:visualizerview_usage_unregistration} there are also different ways to unregister objects from the \FVIZ View. Either you can choose a button (marked with a red \emph{U}) or -use the \FVIZ Console or directly in the visualizer at the node (see \ref{sec:visualizer_usage_contextmenu}). +use the \FVIZ Console or directly in the visualizer at the node (see \ref{sec:visualizerview_usage_contextmenu}). When pressing the button a dialog pops up which displays to tables containing programmatically and manually registered Objects. Manually registered objects are objects registered with the registration button (see \ref{sec:visualizerview_usage_registration}). The selected objects get unregistered when pressing the \emph{OK} button. When using the -\FVIZ Console the command +\FVIZ Console the command\\ \lstinline|<moduleName>[\%unregister([<registeredObjects>])]@<visualizerModuleName>.|\\ -unregisteres the objects from the \FVIZ registration.\\ -When unregistering by button the graph automatically refreshs to display the result. +unregisters the objects from the \FVIZ registration.\\ +When unregistering by button the graph automatically refreshes to display the result. \subsubsection{Context Menu} -\label{sec:visualizer_usage_contextmenu} +\label{sec:visualizerview_usage_contextmenu} The \FVIZ nodes offer a context menu when right clicking on them. The menu offers depending on the node different actions. These are \begin{itemize} -\item Unregister +\item Unregister\\ + This action removes the current object from the \FVIZ registry. The graph will be refreshed afterwards. + +\item Show details\\ + This action opens a dialog with two tables showing the values and types of the current object. Adapted + on instance clusters it opens a dialog listing all instances of the cluster. You can double-click the + instances to open the details dialog.\\ + The details dialog also pop up when double-clicking on a node. +\item Cluster\\ + This action is only for \FLORA class nodes. It redraws the graph and clusters the instances of the + node. + +\item Uncluster\\ + This action is for \FLORA class nodes and instance cluster nodes. It redraws the graph and draws + the instances individually instead of the instance cluster. \end{itemize} + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% BIBLIOGRAPHY AND OTHER LISTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -522,15 +567,15 @@ \listoffigures %% The List of Tables -\clearpage -\addcontentsline{toc}{section}{List of Tables} -\listoftables +%\clearpage +%\addcontentsline{toc}{section}{List of Tables} +%\listoftables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% APPENDICES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\appendix +%\appendix %% ==> Write your text here or include other files. %\input{FileName} %You need a file 'FileName.tex' for this. |