TDrawList: Razlika med redakcijama

Iz SDMS
Jump to navigationJump to search
m
m
 
(7 vmesnih redakcij istega uporabnika ni prikazanih)
Vrstica 1: Vrstica 1:
{{Work}}
+
Razred '''TDrawList''' se uporablja za spreminjanje tematik. Spreminja se osnovne lastnosti tematike, samo listo tem, posamezno temo pa se ureja preko razreda [[TDrawItem]].  
Razred '''TDrawList''' vsebuje informacije o tematikah.
 
  
==Lastnosti za urejanje tematike==
+
Spreminja se lahko:
 +
*trenutno tematiko v aplikaciji preko spremenljivke [[DrawList]],
 +
*referenco na shranjeno tematiko v izrisih, poročilih, dokumentu in maski preko lastnosti {{EL|TPrintItem|DrawList}}, {{EL|TRepItem|DrawList}}, {{EL|TDocItem|DrawList}} oz. {{EL|TFormItem|DrawList}},
 +
*trenutno tematiko v izrisih, poročilih, dokumentu in maski preko spremenljivke [[DrawList]] v [[OnPaint]] eventu,
 +
*trenutno tematiko v navigacijskem oknu aplikacije preko lastnosti {{EL|TNavigation|DrawList}} in spremenljivke [[Navigation]],
 +
*vse tematike shranjene v sistemu,
 +
 
 +
==Urejanje tematike==
  
 
===Count===
 
===Count===
Vrstica 13: Vrstica 19:
  
 
===Items===
 
===Items===
Lastnost '''Items''' Vrne določeno temo.
+
Lastnost '''Items''' vrne določeno temo.
 
<declaration>
 
<declaration>
 
RO Property|TDrawList.Items
 
RO Property|TDrawList.Items
Vrstica 19: Vrstica 25:
 
Result|TDrawItem|Referenca na temo.
 
Result|TDrawItem|Referenca na temo.
 
</declaration>
 
</declaration>
<source>Dim I As Long, DI As TDrawItem
+
<source>Dim I As Long
 
For I = 0 To DrawList.Count - 1
 
For I = 0 To DrawList.Count - 1
   DI = DrawList.Items (I)
+
   DrawList.Items (I).Visible = false // Izključi vse teme iz izrisa
  ...
 
 
Next</source>
 
Next</source>
  
===IsInList===
+
===Add===
Lastnost '''IsInList''' ugotavlja, če je bila v tematiko dodana neka druga tematika.
+
Metoda '''Add''' doda novo temo na konec tematike.
 
<declaration>
 
<declaration>
RO Property|TDrawList.IsInList
+
Method|TDrawList.Add
List|TDrawList|Referenca na tematiko, ki je bila dodana.
+
Result|Optional TDrawItem|Vrne referenco na novo temo.
Result|Boolean|True, če je bila tematika dodana, sicer False.
 
 
</declaration>
 
</declaration>
<source>If Not Drawlist.IsInList ([Neka Tematika]) Then
+
<source>Dim DI As TDrawItem
  Drawlist.AddList ([Neka Tematika])
+
DI = DrawList.Add        // Doda novo temo na konec tematike
EndIf</source>
+
DI.Type = dtText        // Nastavi tip teme
 +
DI.Layer = [Neka plast] // Določi plast teme
 +
DI.Value(2) = DI.Layer.DataSets(0).Fields(0).FullName + '.AsString' // Določi polje izpisa</source>
  
===IndexOfList===
+
===Insert===
Lastnost '''IndexOfList''' vrne index prve teme, ki je bila v tematiko dodana iz druge tematike.
+
Metoda '''Insert''' vrine novo temo na določeno mesto v tematiki.
 
<declaration>
 
<declaration>
RO Property|TDrawList.IndexOfList
+
Method|TDrawList.Insert
List|TDrawList|Referenca na tematiko, ki je bila dodana.
+
Index|Long|Zaporedna številka teme, pred katero bo nova tema vrinjena. Prva tema ima številko 0.
Result|Long|Zaporedna številka prve teme, ki je bila dodana iz druge tematike. Prva tema ima številko 0. Če tematike ne najde, vrne -1.
+
Result|Optional TDrawItem|Vrne referenco na novo temo.
 
</declaration>
 
</declaration>
<source></source>
+
<source>Dim DI As TDrawItem
 +
DI = DrawList.Insert (2) // Doda novo temo na tretje mesto v tematiko         
 +
DI.Type = dtPolyLine    // Nastavi tip teme
 +
DI.Layer = [Neka plast]  // Določi plast teme</source>
  
==Metode za urejanje tematike==
+
===Remove===
 
+
Metoda '''Remove''' izbriše določeno temo iz tematike.
===Add===
 
Metoda '''Add''' .
 
 
<declaration>
 
<declaration>
Method|TDrawList.Add
+
Method|TDrawList.Remove
Result|Optional TDrawItem|.
+
Index|Long|Zaporedna številka teme, ki jo želimo odstraniti. Prva tema ima številko 0.
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.Remove (2)                // Izbriše tretjo temo iz tematike
 +
DrawList.Remove (DrawList.Count-1) // Izbriše zadnjo temo iz tematike</source>
  
===Insert===
+
===BeginUpdate===
Metoda '''Insert''' .
+
Metoda '''BeginUpdate''' prepreči osveževanje tematike med izvajanjem basica. Na koncu je treba obvezno poklicati metodo {{PL|EndUpdate}}, ki bo osvežila tematiko. Glavni namen tega je, da se prepreči utripanje tematike ob večih spremembah in pa hitrost izvajanja.
 
<declaration>
 
<declaration>
Method|TDrawList.Insert
+
Method|TDrawList.BeginUpdate
Index|Long|Zaporedna številka teme, pred katero bo nova tema vrinjena. Prva tema ima številko 0..
 
Result|Optional TDrawItem|.
 
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.BeginUpdate
 +
DrawList.Add
 +
...
 +
DrawList.EndUpdate</source>
  
===Remove===
+
===EndUpdate===
Metoda '''Remove''' .
+
Metoda '''EndUpdate''' omogoči osveževanje tematike med izvajanjem basica. Na začetku je treba poklicati metodo {{PL|BeginUpdate}}.
 
<declaration>
 
<declaration>
Method|TDrawList.Remove
+
Method|TDrawList.EndUpdate
Index|Long|Zaporedna številka teme, ki jo želimo odstraniti. Prva tema ima številko 0..
 
 
</declaration>
 
</declaration>
<source></source>
+
 
 +
==Manipulacija tematik v tematiki==
  
 
===AddList===
 
===AddList===
Vrstica 76: Vrstica 85:
 
<declaration>
 
<declaration>
 
Method|TDrawList.AddList
 
Method|TDrawList.AddList
List|TDrawList|.
+
List|TDrawList|Tematika, ki jo dodajamo.
 
</declaration>
 
</declaration>
<source>DrawList.AddList ([Neka Tematika])</source>
+
<source>DrawList.AddList ([Neka Tematika]) // Doda tematiko na konec</source>
  
 
===InsertList===
 
===InsertList===
Vrstica 85: Vrstica 94:
 
Method|TDrawList.InsertList
 
Method|TDrawList.InsertList
 
Index|Long|Zaporedna številka teme, pred katero vrine tematiko. Prva tema ima številko 0.
 
Index|Long|Zaporedna številka teme, pred katero vrine tematiko. Prva tema ima številko 0.
List|TDrawList|.
+
List|TDrawList|Tematika, ki jo dodajamo.
 
</declaration>
 
</declaration>
<source></source>
+
<source>Drawlist.InsertList (0, [Neka Tematika]) // Vrine tematiko na začetek</source>
  
 
===RemoveList===
 
===RemoveList===
Metoda '''RemoveList''' odstrani vse teme, ki so bile dodane iz določene tematike.
+
Metoda '''RemoveList''' odstrani vse teme, ki so bile dodane iz določene tematike z ukazom {{PL|AddList}} ali {{PL|InsertList}}.
 
<declaration>
 
<declaration>
 
Method|TDrawList.RemoveList
 
Method|TDrawList.RemoveList
List|TDrawList|.
+
List|TDrawList|Tematika, katere teme želimo odstraniti.
 
</declaration>
 
</declaration>
 
<source>DrawList.RemoveList ([Neka Tematika])</source>
 
<source>DrawList.RemoveList ([Neka Tematika])</source>
  
===BeginUpdate===
+
===IsInList===
Metoda '''BeginUpdate''' .
+
Lastnost '''IsInList''' ugotavlja, če je bila v tematiko dodana neka druga tematika z ukazom {{PL|AddList}} ali {{PL|InsertList}}.
 
<declaration>
 
<declaration>
Method|TDrawList.BeginUpdate
+
RO Property|TDrawList.IsInList
 +
List|TDrawList|Referenca na tematiko, ki je bila dodana.
 +
Result|Boolean|True, če je bila tematika dodana, sicer False.
 
</declaration>
 
</declaration>
<source></source>
+
<source>If Not Drawlist.IsInList ([Neka Tematika]) Then // preveri če je lista v tematiki
 +
  Drawlist.AddList ([Neka Tematika])            // če je ni, jo doda         
 +
EndIf</source>
  
===EndUpdate===
+
===IndexOfList===
Metoda '''EndUpdate''' .
+
Lastnost '''IndexOfList''' vrne index prve teme, ki je bila v tematiko dodana iz druge tematike z ukazom {{PL|AddList}} ali {{PL|InsertList}}.
 
<declaration>
 
<declaration>
Method|TDrawList.EndUpdate
+
RO Property|TDrawList.IndexOfList
 +
List|TDrawList|Referenca na tematiko, ki je bila dodana.
 +
Result|Long|Zaporedna številka prve teme, ki je bila dodana iz druge tematike. Prva tema ima številko 0. Če tematike ne najde, vrne -1.
 
</declaration>
 
</declaration>
<source></source>
+
<source>Dim I As Long
 +
I = Drawlist.IsInList ([Neka Tematika 1]) // ugotovi lokacijo prve teme tematike 1
 +
If I = -1 Then                            // če ni tematike 1
 +
  I = Drawlist.Count                      // bo dodal na konec
 +
EndIf
 +
Drawlist.InsertList (I, [Neka Tematika 2]) // vrine tematiko 2</source>
  
===Recreate===
+
==Skupinsko spreminjanje tem==
Metoda '''Recreate''' .
 
<declaration>
 
Method|TDrawList.Recreate
 
</declaration>
 
<source></source>
 
 
 
===LayerOnOff===
 
Metoda '''LayerOnOff''' .
 
<declaration>
 
Method|TDrawList.LayerOnOff
 
L|TLayer|.
 
Operation|Long|.
 
</declaration>
 
<source></source>
 
  
 
===Operation===
 
===Operation===
Metoda '''Operation''' .
+
Metoda '''Operation''' naenkrat spremeni lastnosti vseh tem določene plasti. Operacijo določajo {{EL|Konstante|Draw List Operation Constants}}.
 
<declaration>
 
<declaration>
 
Method|TDrawList.Operation
 
Method|TDrawList.Operation
L|TLayer|.
+
L|TLayer|Plast, za katero se izvede operacija. Če je Nil, so bo izvedla za vse plasti.
Operation|Long|.
+
Operation|Long|Poljubna kombinacija constant. Operacije se lahko med seboj seštevajo.
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.Operation (Nil, dlDisplayOff + dlHintsOff + dlLegendOff) // ugasne vse teme in zapre vse informacije in legende
 +
DrawList.Operation ([Neka plast], dlDisplayOn) // prižge določeno plast
 +
Redraw
 +
 
 +
DrawList.Operation ([Neka plast], dlLayerOff) // briše vse teme določene plasti iz tematike</source>
  
 
===OperationAlias===
 
===OperationAlias===
Metoda '''OperationAlias''' .
+
Metoda '''OperationAlias''' naenkrat spremeni lastnosti vseh tem z določenim dodatnim imenom. Operacijo določajo {{EL|Konstante|Draw List Operation Constants}}.
 
<declaration>
 
<declaration>
 
Method|TDrawList.OperationAlias
 
Method|TDrawList.OperationAlias
Alias|String|.
+
Alias|String|Dodatno ime teme.
Operation|Long|.
+
Operation|Long|Poljubna kombinacija konstant. Operacije se lahko med seboj seštevajo.
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.OperationAlias ('DodatnoIme1', dlDisplayOn) // prižge vse teme z dodatnim imenom DodatnoIme1</source>
  
==Metode tematike==
+
==Izvoz tematike==
  
 
===SaveImage===
 
===SaveImage===
Metoda '''SaveImage''' .
+
Metoda '''SaveImage''' naredi sliko za vsebino določene tematike.
 
<declaration>
 
<declaration>
 
Method|TDrawList.SaveImage
 
Method|TDrawList.SaveImage
FileName|String|.
+
FileName|String|Ime datoteke kamor se slika shrani. Končnica določa format slike.
X1|Float|.
+
Y1|Float|Koordinata levega roba okna.
Y1|Float|.
+
X1|Float|Koordinata spodnjega roba okna.
X2|Float|.
+
Y2|Float|Koordinata desnega roba okna.
Y2|Float|.
+
X2|Float|Koordinata zgornjega roba okna.
PixelPrecision|Float|.
+
PixelDimension|Float|Velikost točke v metrih.
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.SaveImage ('c:\temp\slika1.png', 420000, 28000, 535000, 137000, 100)</source>
  
===DXFout===
+
===DXFOut===
Metoda '''DXFOut''' .
+
Metoda '''DXFOut''' izvozi podatke vsebovane v določeni tematiki v DXF format.
 
<declaration>
 
<declaration>
 
Method|TDrawList.DXFOut
 
Method|TDrawList.DXFOut
FileName|String|.
+
FileName|String|Ime datoteke kamor se shrani. Končnica mora biti *.DXF.
Template|String|.
+
Dummy|String|Opuščen parameter.
X1|Float|.
+
Y1|Float|Koordinata levega roba okna.
Y1|Float|.
+
X1|Float|Koordinata spodnjega roba okna.
X2|Float|.
+
Y2|Float|Koordinata desnega roba okna.
Y2|Float|.
+
X2|Float|Koordinata zgornjega roba okna.
Scale|Float|.
+
Scale|Float|Merilo, pri katerem se izvaja izris v DXF.
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.DXFOut ('c:\temp\slika1.dxf', '', Left, Top, Right, Bottom, Scale)</source>
  
 
Po uvozu v Autocadu je priporočljivo zagnati ukaz REGEN, ker se šele potem pravilno upoštevajo tipi linij.
 
Po uvozu v Autocadu je priporočljivo zagnati ukaz REGEN, ker se šele potem pravilno upoštevajo tipi linij.
  
Kot ime plasti a Autocadu se uporabi dodatno ime teme, če je določeno. Če ni določeno, se uporabi ime teme, če pa tudi to ni določeno, se pa uporabi ime podatkovne plasti.
+
Kot ime plasti v Autocadu se uporabi dodatno ime teme, če je določeno. Če ni določeno, se uporabi ime teme, če pa tudi to ni določeno, se pa uporabi ime podatkovne plasti.
  
 
V DXF se izvažajo naslednji tipi tem, ostale pa se ignorirajo:
 
V DXF se izvažajo naslednji tipi tem, ostale pa se ignorirajo:
Vrstica 187: Vrstica 197:
 
**Ni krogov in lokov
 
**Ni krogov in lokov
 
**Ni simbolov na tipih linij.
 
**Ni simbolov na tipih linij.
 +
*Basic
 +
 +
==Opuščeno==
 +
 +
===LayerOnOff===
 +
Metoda '''LayerOnOff''' je opuščena in se priporoča uporaba metode {{PL|Operation}}.
 +
<declaration>
 +
Method|TDrawList.LayerOnOff
 +
L|TLayer|.
 +
Operation|Long|.
 +
</declaration>
 +
 +
===Recreate===
 +
Metoda '''Recreate''' ponovno generira tematiko. To se uporabi v primeru, ko po določeni spremembi iz basica ta ni vidna v tematiki. Uporabi se samo na tematiki aplikacije {{EL|Spremenljivke|DrawList}}. Načeloma naj se ta metoda nebi uporabljala.
 +
<declaration>
 +
Method|TDrawList.Recreate
 +
</declaration>
 +
<source>DrawList.Recreate</source>
  
 
===ZoomToTiles===
 
===ZoomToTiles===
Metoda '''ZoomToTiles''' .
+
Metoda '''ZoomToTiles''' prilagodi merilo izrisa na optimalno vrednost za izris spletnih kart. To pomeni, da je en piksel na spletni karti enak enemu pikslu na ekranu. Uporabi se tema zadnje vidne spletne karte.
 
<declaration>
 
<declaration>
 
Method|TDrawList.ZoomToTiles
 
Method|TDrawList.ZoomToTiles
 
</declaration>
 
</declaration>
<source></source>
 
  
 
+
==Skupno za objekte==
==Skupne lastnosti==
 
 
Lastnosti tematike se običajno nastavljajo v [[Urejevalnik tematike]], možen pa je tudi dostop do vseh podatkov preko basica.  
 
Lastnosti tematike se običajno nastavljajo v [[Urejevalnik tematike]], možen pa je tudi dostop do vseh podatkov preko basica.  
Pri spreminjanju katerikolih podatkov objekta, morate za dokončno spremembo izvesti še {{PL|TDrawList|Store}} ukaz.
+
Pri spreminjanju katerikolih podatkov objekta, morate za dokončno spremembo izvesti še {{PL|Store}} ukaz.
 
<source>Dim Dl as TDrawList
 
<source>Dim Dl as TDrawList
 
Dl = [Neka tematika]
 
Dl = [Neka tematika]
Vrstica 210: Vrstica 236:
 
   "Popravil: " + Dl.Modifier.Name + " Ob: " + DateTimeToStr (Dl.Modified) + Line +
 
   "Popravil: " + Dl.Modifier.Name + " Ob: " + DateTimeToStr (Dl.Modified) + Line +
 
   "Pravica vpogleda: " + Dl.ViewAccess.Name + Line +
 
   "Pravica vpogleda: " + Dl.ViewAccess.Name + Line +
   "Pravica urejanja: " + Dl.EditAccess.Name  
+
   "Pravica urejanja: " + Dl.EditAccess.Name + Line +
 +
  "Cela pot: " + Dl.FullName
 
)</source>
 
)</source>
  
Vrstica 246: Vrstica 273:
 
Property|TDrawList.Parent
 
Property|TDrawList.Parent
 
Result|TFolder|Mapa objekta.
 
Result|TFolder|Mapa objekta.
 +
</declaration>
 +
 +
===FullName===
 +
Lastnost '''FullName''' vrne polno ime objekta, ki je sestavljeno iz imen vseh map nad objektom in imena objekta.
 +
<declaration>
 +
RO Property|TDrawList.FullName
 +
Result|String|Vse mape in ime objekta.
 
</declaration>
 
</declaration>
  
Vrstica 312: Vrstica 346:
  
 
===ObjectType===
 
===ObjectType===
Lastnost '''ObjectType''' določa vrsto objekta.
+
Lastnost '''ObjectType''' določa vrsto objekta. Vrsto določajo {{EL|Konstante|Object_Types_Constants}}
 
<declaration>
 
<declaration>
 
RO Property|TDrawList.ObjectType
 
RO Property|TDrawList.ObjectType
Result|Long|V danem primeru je vrednost XXX.
+
Result|Long|V danem primeru je vrednost otDrawList.
 
</declaration>
 
</declaration>
 
==Skupne metode==
 
  
 
===Edit===
 
===Edit===
Vrstica 325: Vrstica 357:
 
Method|TDrawList.Edit
 
Method|TDrawList.Edit
 
</declaration>
 
</declaration>
<source></source>
+
<source>[Neka tematika].Edit</source>
  
 
===Store===
 
===Store===
Vrstica 332: Vrstica 364:
 
Method|TDrawList.Store
 
Method|TDrawList.Store
 
</declaration>
 
</declaration>
<source></source>
+
<source>[Neka tematika].Store</source>
  
 
===Duplicate===
 
===Duplicate===
Vrstica 338: Vrstica 370:
 
<declaration>
 
<declaration>
 
Method|TDrawList.Duplicate
 
Method|TDrawList.Duplicate
DuplicateData|Boolean|Se uporablja samo za Podatkovne plasti in Tabele. Če je nastavljeno na '''True''', se poleg same strukture objekta podvojijo tudi podatki.
+
DuplicateData|Boolean|Pri tematiki se ignorira.
 
Result|Optional TDrawList|Referenca na kreiran objekt.
 
Result|Optional TDrawList|Referenca na kreiran objekt.
 
</declaration>
 
</declaration>
<source></source>
+
<source>Dim DL As TDrawList
 +
DL = [Neka tematika].Duplicate(False)
 +
DL.Name = 'Novo ime'
 +
DL.Store</source>
  
 
===SaveToNewObject===
 
===SaveToNewObject===
Metoda '''SaveToNewObject''' XXX.
+
Metoda '''SaveToNewObject''' prikaže dialog za shranjevanje objekta.
 
<declaration>
 
<declaration>
 
Method|TDrawList.SaveToNewObject
 
Method|TDrawList.SaveToNewObject
Caption|String|.
+
Caption|String|Napis na dialogu.
Root|TFolder|.
+
Root|TFolder|Izhodišče za izbiro lokacije shranjevanja.
Result|Optional TDrawList|.
+
Result|Optional TDrawList|Referenca na shranjeni objekt.
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.SaveToNewObject ('Shranjevanje tematike', root)</source>
  
 
===Clear===
 
===Clear===
Metoda '''Clear''' briše vse lastnosti objekta razen imena XXX.
+
Metoda '''Clear''' briše vse teme iz tematike.
 
<declaration>
 
<declaration>
 
Method|TDrawList.Clear
 
Method|TDrawList.Clear
 
</declaration>
 
</declaration>
<source></source>
+
<source>Drawlist.BeginUpdate
 +
Drawlist.Clear
 +
Drawlist.AddList ([Neka tematika])
 +
Drawlist.EndUpdate
 +
Redraw</source>
  
 
===Delete===
 
===Delete===
Vrstica 364: Vrstica 403:
 
<declaration>
 
<declaration>
 
Method|TDrawList.Delete
 
Method|TDrawList.Delete
Result|Optional Boolean|XXX.
+
Result|Optional Boolean|Vrne True, če je bilo brisanje uspešno.
</declaration>
 
<source></source>
 
 
 
===FullName===
 
Lastnost '''FullName''' vrne polno ime objekta, ki je sestavljeno iz imeni vseh map nad objektom in imena objekta.
 
<declaration>
 
RO Property|TDrawList.FullName
 
Result|String|XXX.
 
 
</declaration>
 
</declaration>
<source></source>
+
<source>[Neka tematika].Delete</source>
  
 
===SaveToFile===
 
===SaveToFile===
Vrstica 382: Vrstica 413:
 
FileName|String|Polno ime datoteke, v katero naj se objekt shrani.
 
FileName|String|Polno ime datoteke, v katero naj se objekt shrani.
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.SaveToFile ('c:\temp\Tematika.tmp')</source>
  
 
===LoadFromFile===
 
===LoadFromFile===
Vrstica 389: Vrstica 420:
 
Method|TDrawList.LoadFromFile
 
Method|TDrawList.LoadFromFile
 
FileName|String|Polno ime datoteke, iz katere naj se objekt naloži.
 
FileName|String|Polno ime datoteke, iz katere naj se objekt naloži.
Result|Optional Boolean|.
+
Result|Optional Boolean|Vrne True, če je bil objekt uspešno naložen.
 
</declaration>
 
</declaration>
<source></source>
+
<source>DrawList.LoadFromFile ('c:\temp\Tematika.tmp')</source>
  
 
===SaveToSif===
 
===SaveToSif===

Trenutna redakcija s časom 10:34, 11. november 2014

Razred TDrawList se uporablja za spreminjanje tematik. Spreminja se osnovne lastnosti tematike, samo listo tem, posamezno temo pa se ureja preko razreda TDrawItem.

Spreminja se lahko:

Urejanje tematike

Count

Lastnost Count vrne število tem v tematiki.

RO Property TDrawList.Count As Long
ResultLongŠtevilo tem.
Message ("Lastnosti tematike", "V tematiki je " + IntToStr (Drawlist.Count) + " tem.")

Items

Lastnost Items vrne določeno temo.

RO Property TDrawList.Items (Index As Long) As TDrawItem
IndexLongZaporedna številka teme. Prva tema ima številko 0.
ResultTDrawItemReferenca na temo.
Dim I As Long
For I = 0 To DrawList.Count - 1
  DrawList.Items (I).Visible = false // Izključi vse teme iz izrisa
Next

Add

Metoda Add doda novo temo na konec tematike.

Method TDrawList.Add As TDrawItem
ResultOptional TDrawItemVrne referenco na novo temo.
Dim DI As TDrawItem
DI = DrawList.Add        // Doda novo temo na konec tematike
DI.Type = dtText         // Nastavi tip teme
DI.Layer = [Neka plast]  // Določi plast teme
DI.Value(2) = DI.Layer.DataSets(0).Fields(0).FullName + '.AsString' // Določi polje izpisa

Insert

Metoda Insert vrine novo temo na določeno mesto v tematiki.

Method TDrawList.Insert (Index As Long) As TDrawItem
IndexLongZaporedna številka teme, pred katero bo nova tema vrinjena. Prva tema ima številko 0.
ResultOptional TDrawItemVrne referenco na novo temo.
Dim DI As TDrawItem
DI = DrawList.Insert (2) // Doda novo temo na tretje mesto v tematiko          
DI.Type = dtPolyLine     // Nastavi tip teme
DI.Layer = [Neka plast]  // Določi plast teme

Remove

Metoda Remove izbriše določeno temo iz tematike.

Method TDrawList.Remove (Index As Long)
IndexLongZaporedna številka teme, ki jo želimo odstraniti. Prva tema ima številko 0.
DrawList.Remove (2)                // Izbriše tretjo temo iz tematike
DrawList.Remove (DrawList.Count-1) // Izbriše zadnjo temo iz tematike

BeginUpdate

Metoda BeginUpdate prepreči osveževanje tematike med izvajanjem basica. Na koncu je treba obvezno poklicati metodo EndUpdate, ki bo osvežila tematiko. Glavni namen tega je, da se prepreči utripanje tematike ob večih spremembah in pa hitrost izvajanja.

Method TDrawList.BeginUpdate
DrawList.BeginUpdate
DrawList.Add
...
DrawList.EndUpdate

EndUpdate

Metoda EndUpdate omogoči osveževanje tematike med izvajanjem basica. Na začetku je treba poklicati metodo BeginUpdate.

Method TDrawList.EndUpdate

Manipulacija tematik v tematiki

AddList

Metoda AddList doda v tematiko vse teme iz druge tematike.

Method TDrawList.AddList (List As TDrawList)
ListTDrawListTematika, ki jo dodajamo.
DrawList.AddList ([Neka Tematika]) // Doda tematiko na konec

InsertList

Metoda InsertList vrine v tematiko vse teme iz druge tematike.

Method TDrawList.InsertList (Index As Long, List As TDrawList)
IndexLongZaporedna številka teme, pred katero vrine tematiko. Prva tema ima številko 0.
ListTDrawListTematika, ki jo dodajamo.
Drawlist.InsertList (0, [Neka Tematika]) // Vrine tematiko na začetek

RemoveList

Metoda RemoveList odstrani vse teme, ki so bile dodane iz določene tematike z ukazom AddList ali InsertList.

Method TDrawList.RemoveList (List As TDrawList)
ListTDrawListTematika, katere teme želimo odstraniti.
DrawList.RemoveList ([Neka Tematika])

IsInList

Lastnost IsInList ugotavlja, če je bila v tematiko dodana neka druga tematika z ukazom AddList ali InsertList.

RO Property TDrawList.IsInList (List As TDrawList) As Boolean
ListTDrawListReferenca na tematiko, ki je bila dodana.
ResultBooleanTrue, če je bila tematika dodana, sicer False.
If Not Drawlist.IsInList ([Neka Tematika]) Then // preveri če je lista v tematiki
  Drawlist.AddList ([Neka Tematika])            // če je ni, jo doda          
EndIf

IndexOfList

Lastnost IndexOfList vrne index prve teme, ki je bila v tematiko dodana iz druge tematike z ukazom AddList ali InsertList.

RO Property TDrawList.IndexOfList (List As TDrawList) As Long
ListTDrawListReferenca na tematiko, ki je bila dodana.
ResultLongZaporedna številka prve teme, ki je bila dodana iz druge tematike. Prva tema ima številko 0. Če tematike ne najde, vrne -1.
Dim I As Long
I = Drawlist.IsInList ([Neka Tematika 1]) // ugotovi lokacijo prve teme tematike 1
If I = -1 Then                            // če ni tematike 1
  I = Drawlist.Count                      // bo dodal na konec
EndIf
Drawlist.InsertList (I, [Neka Tematika 2]) // vrine tematiko 2

Skupinsko spreminjanje tem

Operation

Metoda Operation naenkrat spremeni lastnosti vseh tem določene plasti. Operacijo določajo Konstante.Draw List Operation Constants.

Method TDrawList.Operation (L As TLayer, Operation As Long)
LTLayerPlast, za katero se izvede operacija. Če je Nil, so bo izvedla za vse plasti.
OperationLongPoljubna kombinacija constant. Operacije se lahko med seboj seštevajo.
DrawList.Operation (Nil, dlDisplayOff + dlHintsOff + dlLegendOff) // ugasne vse teme in zapre vse informacije in legende
DrawList.Operation ([Neka plast], dlDisplayOn) // prižge določeno plast
Redraw

DrawList.Operation ([Neka plast], dlLayerOff) // briše vse teme določene plasti iz tematike

OperationAlias

Metoda OperationAlias naenkrat spremeni lastnosti vseh tem z določenim dodatnim imenom. Operacijo določajo Konstante.Draw List Operation Constants.

Method TDrawList.OperationAlias (Alias As String, Operation As Long)
AliasStringDodatno ime teme.
OperationLongPoljubna kombinacija konstant. Operacije se lahko med seboj seštevajo.
DrawList.OperationAlias ('DodatnoIme1', dlDisplayOn) // prižge vse teme z dodatnim imenom DodatnoIme1

Izvoz tematike

SaveImage

Metoda SaveImage naredi sliko za vsebino določene tematike.

Method TDrawList.SaveImage (FileName As String, Y1, X1, Y2, X2, PixelDimension As Float)
FileNameStringIme datoteke kamor se slika shrani. Končnica določa format slike.
Y1FloatKoordinata levega roba okna.
X1FloatKoordinata spodnjega roba okna.
Y2FloatKoordinata desnega roba okna.
X2FloatKoordinata zgornjega roba okna.
PixelDimensionFloatVelikost točke v metrih.
DrawList.SaveImage ('c:\temp\slika1.png', 420000, 28000, 535000, 137000, 100)

DXFOut

Metoda DXFOut izvozi podatke vsebovane v določeni tematiki v DXF format.

Method TDrawList.DXFOut (FileName, Dummy As String, Y1, X1, Y2, X2, Scale As Float)
FileNameStringIme datoteke kamor se shrani. Končnica mora biti *.DXF.
DummyStringOpuščen parameter.
Y1FloatKoordinata levega roba okna.
X1FloatKoordinata spodnjega roba okna.
Y2FloatKoordinata desnega roba okna.
X2FloatKoordinata zgornjega roba okna.
ScaleFloatMerilo, pri katerem se izvaja izris v DXF.
DrawList.DXFOut ('c:\temp\slika1.dxf', '', Left, Top, Right, Bottom, Scale)

Po uvozu v Autocadu je priporočljivo zagnati ukaz REGEN, ker se šele potem pravilno upoštevajo tipi linij.

Kot ime plasti v Autocadu se uporabi dodatno ime teme, če je določeno. Če ni določeno, se uporabi ime teme, če pa tudi to ni določeno, se pa uporabi ime podatkovne plasti.

V DXF se izvažajo naslednji tipi tem, ostale pa se ignorirajo:

  • Simbol
    • Ni polnjenja pri simbolih.
  • Besedilo
    • Ni ozadja, okvira in sence.
    • Ni omejitve na dolžino teksta.
  • Linija
    • Ni krogov in lokov
    • Ni simbolov na tipih linij.
  • Basic

Opuščeno

LayerOnOff

Metoda LayerOnOff je opuščena in se priporoča uporaba metode Operation.

Method TDrawList.LayerOnOff (L As TLayer, Operation As Long)
LTLayer.
OperationLong.

Recreate

Metoda Recreate ponovno generira tematiko. To se uporabi v primeru, ko po določeni spremembi iz basica ta ni vidna v tematiki. Uporabi se samo na tematiki aplikacije Spremenljivke.DrawList. Načeloma naj se ta metoda nebi uporabljala.

Method TDrawList.Recreate
DrawList.Recreate

ZoomToTiles

Metoda ZoomToTiles prilagodi merilo izrisa na optimalno vrednost za izris spletnih kart. To pomeni, da je en piksel na spletni karti enak enemu pikslu na ekranu. Uporabi se tema zadnje vidne spletne karte.

Method TDrawList.ZoomToTiles

Skupno za objekte

Lastnosti tematike se običajno nastavljajo v Urejevalnik tematike, možen pa je tudi dostop do vseh podatkov preko basica. Pri spreminjanju katerikolih podatkov objekta, morate za dokončno spremembo izvesti še Store ukaz.

Dim Dl as TDrawList
Dl = [Neka tematika]
Message ("Lastnosti tematike", 
  "Ime: " + Dl.Name + Line +
  "Dodatna imena: " + Dl.Alias + Line +
  "Komentar: " + Dl.Comment + Line +
  "ID: $" + IntToHex (Dl.ID) + Line +
  "Mapa: " + Dl.Parent.Name + Line +
  "Naredil: " + Dl.Creator.Name + " Ob: " + DateTimeToStr (Dl.Created) + Line +
  "Popravil: " + Dl.Modifier.Name + " Ob: " + DateTimeToStr (Dl.Modified) + Line +
  "Pravica vpogleda: " + Dl.ViewAccess.Name + Line +
  "Pravica urejanja: " + Dl.EditAccess.Name + Line +
  "Cela pot: " + Dl.FullName
)

Name

Lastnost Name določa osnovno ime objekta (opisno ime). Ker se ime lahko občasno spreminja, se sklicevanje na objekt z uporabo imena odsvetuje. Uporabljate rajši dodatno ime ali ID objekta.

Property TDrawList.Name As String
ResultStringIme objekta.

Alias

Lastnost Alias določa dodatno ime objekta ali celo več dodatnih imen. Ta lastnost se načeloma uporablja za sklice na objekt namesto osnovnega imena objekta.

Property TDrawList.Alias As String
ResultStringDodatna imena. Če jih je več, morajo biti ločena s podpičjem.

Comment

Lastnost Comment določa komentar k objektu.

Property TDrawList.Comment As String
ResultStringPoljuben komentar.

ID

Lastnost ID določa unikatni identifikator objekta, ki se samodejno kreira pri kreiranju objekta in se nikdar ne spremeni.

RO Property TDrawList.ID As Long
ResultLongIdentifikator objekta.

Parent

Lastnost Parent določa ime mape, v kateri se imenovani objekt nahaja.

Property TDrawList.Parent As TFolder
ResultTFolderMapa objekta.

FullName

Lastnost FullName vrne polno ime objekta, ki je sestavljeno iz imen vseh map nad objektom in imena objekta.

RO Property TDrawList.FullName As String
ResultStringVse mape in ime objekta.

Creator

Lastnost Creator določa uporabnika, ki je objekt ustvaril.

RO Property TDrawList.Creator As TUser
ResultTUserUporabnik.

Created

Lastnost Created določa datum in čas nastanka objekta.

RO Property TDrawList.Created As DateTime
ResultDateTimeČas nastanka objekta.

Modifier

Lastnost Modifier določa uporabnika, ki je objekt nazadnje spremenil.

RO Property TDrawList.Modifier As TUser
ResultTUserUporabnik.

Modified

Lastnost Modified določa datum in čas, ko je bil objekt nazadnje spremenjen.

RO Property TDrawList.Modified As DateTime
ResultDateTimeČas zadnje spremembe objekta.

ViewAccess

Lastnost ViewAccess določa, katera skupina uporabnikov ima pravico uporabe objekta.

Property TDrawList.ViewAccess As TUserGroup
ResultTUserGroupSkupina uporabnikov.

EditAccess

Lastnost EditAccess določa, katera skupina uporabnikov ima pravico spreminjanja objekta.

Property TDrawList.EditAccess As TUserGroup
ResultTUserGroupSkupina uporabnikov.

UsedIn

Lastnost UsedIn določa, v katerih aplikacijah je določen objekt uporabljan. Če nastavimo vrednost UsedIn na "*", potem je objekt dosegljiv v vseh aplikacijah. Ta podatek se uporablja izključno za izvoz aplikacije v SIF.

Property TDrawList.UsedIn As String
ResultStringAplikacije, ki uporabljajo ta objekt. Če je navedenih več aplikacij, se le-te ločijo s podpičjem.

IsFolder

Lastnost IsFolder določa, ali je dani objekt mapa ali kak drug objekt.

RO Property TDrawList.IsFolder As Boolean
ResultBooleanV danem primeru je vrednost vedno False.

IsObject

Lastnost IsObject določa, ali je dani objekt mapa ali kak drug objekt.

RO Property TDrawList.IsObject As Boolean
ResultBooleanV danem primeru je vrednost vedno True.

ObjectType

Lastnost ObjectType določa vrsto objekta. Vrsto določajo Konstante.Object_Types_Constants

RO Property TDrawList.ObjectType As Long
ResultLongV danem primeru je vrednost otDrawList.

Edit

Metoda Edit odpre urejevalnik objekta.

Method TDrawList.Edit
[Neka tematika].Edit

Store

Metoda Store dejansko shrani spremembe objekta (izvedene z SDMS Basic ukazi).

Method TDrawList.Store
[Neka tematika].Store

Duplicate

Metoda Duplicate podvoji objekt. Ime podvojenega objekta je sestavljeno iz "Kopija " in imena originala, dodatno ime (Alias) pa je zbrisano. Objekt se kreira v isti mapi, kot je original.

Method TDrawList.Duplicate (DuplicateData As Boolean) As TDrawList
DuplicateDataBooleanPri tematiki se ignorira.
ResultOptional TDrawListReferenca na kreiran objekt.
Dim DL As TDrawList
DL = [Neka tematika].Duplicate(False)
DL.Name = 'Novo ime'
DL.Store

SaveToNewObject

Metoda SaveToNewObject prikaže dialog za shranjevanje objekta.

Method TDrawList.SaveToNewObject (Caption As String, Root As TFolder) As TDrawList
CaptionStringNapis na dialogu.
RootTFolderIzhodišče za izbiro lokacije shranjevanja.
ResultOptional TDrawListReferenca na shranjeni objekt.
DrawList.SaveToNewObject ('Shranjevanje tematike', root)

Clear

Metoda Clear briše vse teme iz tematike.

Method TDrawList.Clear
Drawlist.BeginUpdate
Drawlist.Clear
Drawlist.AddList ([Neka tematika]) 
Drawlist.EndUpdate
Redraw

Delete

Metoda Delete briše objekt iz sistema.

Method TDrawList.Delete As Boolean
ResultOptional BooleanVrne True, če je bilo brisanje uspešno.
[Neka tematika].Delete

SaveToFile

Metoda SaveToFile shrani objekt v binarni obliki v dano datoteko.

Method TDrawList.SaveToFile (FileName As String)
FileNameStringPolno ime datoteke, v katero naj se objekt shrani.
DrawList.SaveToFile ('c:\temp\Tematika.tmp')

LoadFromFile

Metoda LoadFromFile naloži objekt iz datoteke v binarni obliki. Ta datoteka je predhodno nastala z ukazom SaveToFile.

Method TDrawList.LoadFromFile (FileName As String) As Boolean
FileNameStringPolno ime datoteke, iz katere naj se objekt naloži.
ResultOptional BooleanVrne True, če je bil objekt uspešno naložen.
DrawList.LoadFromFile ('c:\temp\Tematika.tmp')

SaveToSif

Metoda SaveToSif shrani objekt v SIF obliki v datoteko.

Method TDrawList.SaveToSif (FileName As String)
FileNameStringPolno ime datoteke, v katero naj se objekt shrani.

SaveToSifAppend

Metoda SaveToSifAppend doda objekt v obstoječo SIF datoteko.

Method TDrawList.SaveToSifAppend (FileName As String)
FileNameStringPolno ime datoteke, v katero naj se objekt doda.

SaveToXml

Metoda SaveToXml shrani objekt v XML obliki v datoteko.

Method TDrawList.SaveToXml (FileName As String)
FileNameStringPolno ime datoteke, v katero naj se objekt shrani.