[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice
Subject:    Re: Kivio Stencil improvement (I tried it)
From:       Shawn Gordon <shawn-gordon () home ! com>
Date:       2001-11-15 14:45:17
[Download RAW message or body]

At 01:31 AM 11/15/2001, you wrote:
>Hello,
>
>some months ago I tried to extend kivio with a new stencil set for petri
>nets
>and found that the built-in connector tool is not sufficient. I managed to
>write one but had to read a lot of kivio source code. The same for stencil
>sets. I didn't finish the connector plugin and the stencil set.

That connector was great, I really liked it.

>Below is a small text file I created while I was working with kivio sources.
>Sorry, it's german. Most information is from kiviopart/kiviosdk/, some
>from plugins/straight_connector.
>Is there still any development activity at the KOffice kivio branch? There
>are many things missing like coding the various arrowhead types. The
>commercial kivio mp seems to be a different product. Does it use the same
>plugin API and stencils?

Kivio mp is a total rewrite, it has an entirely new vector engine and 
contains generic vector drawing abilities like Corel Draw now.  As I've 
publicly stated in the past, we will continue to maintain Kivio in 
KOffice.  Since we sell the stencils, it's in our financial interest to 
make sure as many people as possible use Kivio in whatever form.  Just like 
all the other Koffice volunteers we will work on it as time permits and in 
fits and starts.  There are a few things we really want to get done in it 
like the arrowheads and a few other things, but overall the version of 
Kivio in KOffice still has more overall features than kivio mp.

>(To Shawn: If I buy kivio mp and use the restricted source license, will
>  I get more information needed to write plugins or stencils?)

Eventually, there isn't any right now.  Actually because of how the product 
has changed, with a few tweaks it will be possible to create kivio stencils 
inside of kivio.  One last point, the stencil sets between KOffice Kivio 
and Kivio mp are not compatible.  We will write a conversion tool soon as 
well, but since when you buy Kivio mp you get all of the currently 
available stencils, it hasn't been a problem yet.

shawn

>Greetings
>
>Bernhard Gröne
>
>----------------------------------------------------------------------------
>Kivio-Entwicklung
>-----------------
>
>Plugin eckiger_verbinder
>
>Kopie von ConnectorTool und straightConnector
>
>eckiger_verbinder.cpp:
>
>* Funktion paint() abgeändert:
>   midy = (y1 + y2) / 2
>
>* Funktion checkForCollision soll prüfen, ob ein Punkt px,py den Verbinder
>   berührt. Es klappt leider nicht so recht.
>   (collisionLine ist in tklib/tkmath.h definiert)
>
>* Attribute:
>
>   - m_pStart, m_pEnd     Anfangs- und Endpunkte
>   - m_startAH, m_endAH   Pfeile
>   - m_needsText          Flag, ob Text damit verbunden ist
>   - m_pCanProtext        Flags für möglichen Schutz
>   - m_pProtection        Flags für Schutz
>
>
>
>* KivioPainter:
>   - drawArc ( x1, y1, w1, h1, a1, alen )
>     x1, y1: Koordinaten der Box
>     w1, h1: Breite und Höhe der Box
>     a1:     Startwinkel (1/16 Grad -> 5760 ist Vollkreis,
>                          Positiv: Gegenuhrzeigersinn, 0: 3-Uhr-Position)
>     alen:   Segmentlänge
>
>     -> 0 bis 3 Uhr : a1 =   0*16, alen = 90*16
>        6 bis 9 Uhr:  a1 = 180*16, alen = 90*16
>
>
>* Eingebaute Shapes
>   kivio_shape_data.cpp, kivio_shape.cpp
>
>   KivioSMLStencilSpawner
>
>   <KivioShapeStencil creator="">
>       <KivioSMLStencilSpawnerInfo>
>           <Author  data="" />
>           <Title  data="" />
>           <Id  data="" />
>           <Description  data="" />
>           <Version  data="" />
>           <Web  data="" />
>           <Email  data="" />
>           <Autoupdate  data="" />
>       </KivioSMLStencilSpawnerInfo>
>       <Dimensions w=0.0 h=0.0 />
>       <KivioConnectorTarget x=0.0 y=0.0 />
>       ...
>       <KivioConnectorTarget x=0.0 y=0.0 />
>       <KivioShape type="" name="" ... /> oder </KivioShape>
>   </KivioShapeStencil>
>
>      "Arc",
>      "Pie"
>
>      <KivioShape type="LineArray" name="">
>         <Line x1=0.0 y1=0.0 x2=0.0 y2=0.0 />
>          ...
>         <Line x1=0.0 y1=0.0 x2=0.0 y2=0.0 />
>         <KivioLineStyle />
>
>     <KivioShape type="Polyline" name="">
>         <KivioPoint ... type="" />
>          ...
>         <KivioPoint />
>         <KivioLineStyle />
>
>     <KivioShape type="Polygon" name="">
>         <KivioPoint />
>          ...
>         <KivioPoint />
>         <KivioFillStyle />
>         <KivioLineStyle />
>
>     <KivioShape type="Bezier" name="">
>         <KivioPoint />
>         <KivioPoint />
>         <KivioPoint />
>         <KivioPoint />
>         <KivioLineStyle />
>
>     <KivioShape type="Rectangle" name=""  x=0 y=0 w=0 h=0>
>         <KivioFillStyle />
>         <KivioLineStyle />
>
>     <KivioShape type="RoundRectangle" name=""  x=0.0 y=0.0 w=0.0 h=0.0
>r1=0.0 r2=0.0>
>         <KivioFillStyle />
>         <KivioLineStyle />
>
>     <KivioShape type="Ellipse" name=""  x=0.0 y=0.0 w=0.0 h=0.0>
>         <KivioFillStyle />
>         <KivioLineStyle />
>
>     <KivioShape type="OpenPath" name="">
>         <KivioPoint />
>          ...
>         <KivioPoint />
>         <KivioLineStyle />
>
>     <KivioShape type="ClosedPath" name="">
>         <KivioPoint />
>          ...
>         <KivioPoint />
>         <KivioFillStyle />
>         <KivioLineStyle />
>
>     <KivioShape type="TextBox" name=""  color="" x=0.0 y=0.0 w=0.0 h=0.0>
>         <KivioTextStyle text="" isHTML=0 hTextAlign=0 vTextAlign=0>
>           <Font family="" size=0 bold=0 italic=0 underline=0 strikeOut=0
>fixedPitch=0 color="" />
>         </KivioTextStyle>
>
>
>* KivioFillStyle
>
>   <KivioFillStyle color="" colorStyle=0 />
>
>   color: #000000 bis #ffffff
>   colorStyle: 1: solid
>
>* SML-Shapes (Speicherformat):
>
>   <KivioSMLStencil id="" setId="">
>     <Position x="" y="" />
>     <Dimension w="" h="" />
>     <KivioShape name=""  .../>
>     <KivioConnectorTargetList>
>       ...
>     </KivioConnectorTargetList>
>
>* SML Stencil Spawner
>   Name.sml + Name.xpm
>
>   <KivioSMLStencilSpawnerInfo>
>     <Author  data="" />
>     <Title  data="" />
>     <Id  data="" />
>     <Description  data="" />
>     <Version  data="" />
>     <Web  data="" />
>     <Email  data="" />
>     <Autoupdate  data="" />
>   </KivioSMLStencilSpawnerInfo>
>
>   <Dimensions w="" h="" />
>   <KivioShape type="".../>       (type siehe Eingebaute Shapes)
>   <KivioConnectorTarget .. >
>
>   <KivioSMLStencilSpawner id="" >
>
>* Plugin Stencil Spawner
>   <KivioPluginStencilSpawner id="" >
>    ...
>
>* KivioShape
>
>   <KivioShape name="" shapeType=0 >
>      <KivioShapeData
>
>* KivioShapeStencil (siehe kivio_dia_stencil_spawner.cpp)
>   KivioSMLStencilSpawner
>
>   <KivioShapeStencil creator="">
>       <KivioSMLStencilSpawnerInfo>
>       ...
>       </KivioSMLStencilSpawnerInfo>
>       <Dimensions w=0.0 h=0.0 />
>       <KivioConnectorTarget x=0.0 y=0.0 />
>       ...
>       <KivioConnectorTarget x=0.0 y=0.0 />
>       <KivioShape type="" name="" ... /> oder </KivioShape>
>   </KivioShapeStencil>
>
>--
>GMX - Die Kommunikationsplattform im Internet.
>http://www.gmx.net

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic