Monthly Archives: marec 2008

Reviziji kode številka 9 in 10 ima tudi presenetljivo veliko novosti. Pa si poglejmo:

  • povezave: predmete je mogoče povezati preko ravne črte, kjer je na koncu puščica.  Pri premikanju predmetov se položaj povezav spreminja
  • lastnost: lastnosti predmeta sedaj prikažejo trenutne povezave, ki ji predmet ima.Pri tem omogoča brisanje ali spreminjanje besedila za izbrano povezavo.
  • delovna površina: sedaj lahko ustvarjamo delovne površine poljubnih velikosti preko menija File -> New drawing
  • izvoz v PNG: tako je, preko menija File -> Export to PNG je mogoče izvoziti trenutno delovno površino v PNG sliko.
  • kategorije: v seznamu kategorij se sedaj nahajajo vse uvožene kategorije predmetov. Klik na kategorijo prikaže samo tiste predmete, ki so v tej kategoriji.

Še ena nova slika:
Shrani.si

Tukaj je še pa en OGG videoshot, velik 7 mega: klik.

Povezave delujejo!

Shrani.si

On napis poleg črte je fiksno napisan, ker še ni način da bi vstavljal besedilo v posamezne povezave. Besedilo v predmetih je pa pravo in nastavljivo preko lastnosti. Odpravljen je bil še manjši bug pri premikanju predmetov, ko smo v drugačnem zoom nivoju kot 100%.

Torej kaj še preprečuje alpha izdajo?

  • resize predmetov (tale bo opasna),
  • ustvarjanje prilagojenega delovnega lista (okno je dejansko napisano vendar so problemi pri pretoku podatkov),
  • shranjevanje (se še odločam)

Kaj bomo pa lako videli v beti? Vse našteto plus:

  • podpora za SVG prelive,
  • shranjevanje/nalaganje (zagotovo),
  • prilagodljiv delovni list

Peta revizija kode je res že dobra:

added options window, choosing shapes by category now works, can import shapes by setting the options

Se pravi da lahko sedaj preko grafične možnosti v oknu Options sami uvozite izbrani imenik, ki vsebuje predmete.

Želite testirati? Nič lažjega.

Najprej potegnete najnovejšo kodo:

svn co https://teuthida.svn.sourceforge.net/svnroot/teuthida

Sedaj se pomaknite v imenik teuthida in napišite naslednje ukaze:

./waf configure
./waf build

Prvi bo preveril če so na sistemu vse potrebne knjižnice in drugibo začel prevajati kodo. Ko se prevajanje konča, se program nahaja v imeniku build/default/src/. Torej proegram zaženemo z:

build/default/src/teuthida

Sedaj pa še potrebujemo predmete. Primere predmetov si lahko potegnete tukaj. Razširite jih v poljubni imenik. Nato v Theuthidi pojdite na meni View inkliknite Options. Nastavite pot do razširjenih predmetov in kliknite Ok. To bi bilo to :)

No preden bo teuthida pripravjena na prvo alpho, bo zagotovo treba odpraviti naslednje probleme:

  • delujoče povezave: kar pomeni povezovanje posameznih predmetov na risalnem prostoru preko črte. Trenutno je koda za izdelavo povezav v SVN, vendar so problemi pri pravilni postavitvi točk (desni rob, levi rob, …) za povezan predmetov.
  • besedilo v predmetu: če že ne določanje lastnosti predmeta (barva ozadja, …), potem naj bo vsaj vstavljanje besedila za določen predmet,

Odločam pa se še, če bi še zraven dodal sortiranje predmetov po kategoriji v levem pultu za predmete. Tudi koda za branje SVG prelivov je že recimo 60% spisana vendar to še lahko počaka. Eni bolj znani bugi pa so:

  • označevanje večih predmetov na risalnem prostoru lahko poteka samo od desno spodaj proti levi zgoraj,
  • če je zoom spremenjen so problemi pri premikanju označenih predmetov

Pri zadnjem SVN commitu sem popravil kar nekaj memory leakov. Tako se zdaj sprostijo naložene tabele za predmete pri izhodu oz. brisanju.

UPDEJT:

Shrani.si

Tu je še screenshot najnovejše kode. Prikazuje tudi kako se pojavi besedilo v predmetih

Jelinčičieva izjava na 24ur, da si slovenska vlada “ne upa” ukrepati proti hrvatom, je zelo naivna. Če jemlješ izjavo zares, moraš misliti da ti ministri osebno stojijo pred mejo in jo branijo. Ne, to dela policija in v skrajnem primeru še vojska. Zakaj torej takšna izjava? Mogoče je pa kakšna resnica ki je prekruta in bi za slovenski narod pomenila pošteno klofuto.

UPDEJT: sedaj so prišli v javnost tajni dokumenti, ki razkrivjo da naj bi se že prejšnja vlada brez parlamenta dogovarjala s hrvaško o poteku držvnih mej. To le potrdi moje prejšnje sume.

UPDEJT2: Na tej strani pa še najdete omenjene dokumente.

Ni mi še uspelo uvoziti prelive v teuthido, sem pa že korak bližje. Prelivi oz “linear gradients” bodo zahtevali nove strukture zato je treba malce preštudirati kam jih postaviti.

Na sourceforge.net sem ustvaril privzeto stran za ta projekt. In sicer domača stran je tukaj, sf.net stran pa tukaj. Vsa koda je sedaj na njihovem SVN repozitoriju. Navodila kako jo dobiti so pa na domači strani mojega projekta. No ravnokar sem poslal najnovejše spremembe:

added the new whiteboard window, memory cleanups on exit, shape
selection fixes, initial code for reading SVG linear gradients.

Počasi a vztrajno bomo že prišli do teh prelivov :)

Skoraj bi pozabil. Projekt je tudi dobil logotip:

Gre se za hobotnico, natančneje hobotnico vrste teuthida ;)

Torej da nadaljujem svojo turnejo. Danes zvečer želim spisati parsanje XML zapisa tako daleč, da bo možno nalagati SVG slike, kot je ta:

Da bi pa dobili lažjo predstavo, kako teuthida zgleda, ko je v elementu, sem pa pripravil en kratek videoshot. Klik na sliko vas bo popeljal do download strani.

Obljubljeno, storjeno. Torej

  • izbira različnih predmetov iz seznama,
  • premikanje izbranih predmetov,
  • izbira večih predmetov hkrat,
  • pogled se lahko poveča za 200% ali pa zmanjša do 1% skupaj z delovnim listom in z vsemi predmeti nanj.

Shrani.si

Tako je, danes lahko teuthida prebere SVG zapise iz celege imenika in jih shrani v strukturo, ki je povezana preko seznama. Slika pa pove več kot tisoč besed:

Shrani.si

Pri tem tudi upošteva zoom razmerje. Se pravi če zmanjšamo pogled, se bo list kot tudi predmeti nanj pomanjšali.

Takole je pa sestavljen posamezen predmet. Pri tem struktura shape_style_s vsebuje podatke (robovi, barve, …), struktura shape_point_s pa ukaz(elipso, pot, …) in podatke (koordinate).

shapes

Do jutri upam da bom še spisal izbirnik predmetov in mogoče še izbiro predmetov.

Kot sem že prej omenil, sem začel novo strategijo pri mojem projektu. Kakšno leto pa pol načrtujem program, s katerim bo mogoče preko interneta z ostalimi uporabniki skupaj ustvarjati diagrame. Takšen program bi na primer prišel prav v šolstvu in še v drugih področjih, kjer je pomembno imeti diagrame.

V preteklosti sem že ustvaril nek prototip, kjer je lahko uporabnik vstavljal vnaprej narejene oblike in jih preko omrežja premikal. Nato sem začel kodo ponovno pisati in naredil podporo za SVG formate. Vendar so še vedno bile pomanjkljivosti. Sedaj sem začel znova pod novim imenom in obeta se veliko novosti:

  • resničen GTK+ gradnik (kot je npr. entry, button, …)
  • na novo spisan bralec XML zapisov. Podprtih bo več SVG funkcionalnosti
  • nove strukture za oblike, ki omogočajo dodajanje lastnih dinamičnih datotek (shared objects) za definiranje izrisa gradnika in njegove lastnosti
  • privlačnejša oblika grafičnega vmesnika

Skratka same dobre reči. Še en hiter screenshot:
Shrani.si