Laajenna kaikki Sulje kaikki
Dokumentin nimi: HtmlEditTboxToolBar luokkakuvaus
Dokumentin tekijät Juha Lähteenmäki
Dokumentin jakelu: Juha Lähteenmäki
Dokumentin jakelun rajoitukset Ei rajoituksia
Viimeksi muokattu: 16.07.2003
Dokumentin versiotiedot: (esim. Työversio (beta 1.0),Versiosykli nro 1) versio 1.0, versiosykli 2 (valmistumis pvm: 16.7.03)
Dokumentin kattavuus: Kattaa luokan/moduulin rajapinnan kuvauksen
Dokumentointi malli: STEP beta 1, työversio, SoftaSpec Versio 1.0 beta 3
Liittyy osana dokumenttiin: HtmlEditCtrl SoftaSpec
Osan pakollisuus: Pakollinen kaikissa järjestelmissä/komponenteissa.
Dokumentin muutoksia: (ekan version valmistumisen jälkeen) (13.3.03, Juha)
  • Poistettu Propertyistä TB etuliite
  • Lisätty symbolitaulukkoon symbolit Internal Class ja Internal Event
  • Muutettu luokan näkyvyysalue Internalista Public:ksi
  • Lisätty SaveClick, SourceClick eventit, SourceClickEventArgs luokka ja Mode property kaikki internaleja
  • Lisätty rakentajaan tyyliasetusparametri
  • Lisätty GetDesignTimeHtml() (internal)

(14.3.03, Juha)

  • Päivitetty rajapintakuvaukset (yleisellä tasolla), lisätty uusia metodeja

(15.3.03, Juha)

  • Lisätty nimiavaruus luokan nimen alkuun
  • Muutettu rakentajan parametrilistaa

(18.6.03, Juha)

  • Päivitetty raportti ajan tasalle toteutuksen jälkeen. (Pieniä muutoksia ja lisäyksiä)

(21.6.03, Juha)

  • Lisätty Cut, Copy ja Paste ToolBar:n perustilassa näkyviksi nappuloiksi
  • Lisätty eReadOnly tila ToolBar:n modeen

(22.6.03, Juha)

  • Päivitetty kontrollin kuvat
  • Lisätty rajapinnasta puuttuneen hyperlinkkinappulan tooltip-property
  • Poistettu DListHeadingToolTip koska DropDown lista Webcontrolli ei tue ToolTip propertyä

(16.7.03, Juha)

  • Päivitetty dokumentointimallin nimi
  • Tarkastettu

 

 

- Rajapintakuvauksissa käytetyt symbolit

Internal = komponentin sisäisesti käytössä oleva

Rajapintasymbolien selitykset
Public Interface
Internal Interface
Public Class
Internal Class
Public Property
Protected Property
Internal Property
Private Property
Public Event
Internal Event
Public Const/Enum
Protected Const/Enum
Internal Const/Enum
Private Const/Enum
Public method
Protected method
Internal method
Private method

 

Käyttöliittymäkuvauksen rajapintasymbolit
Button (painonappi)
ImageButton (kuvapainonappi esim. työkalupaletissa)
CheckBox (valintanappi)
Grid (Gridi)
TextBox
RadioButton
ListBox
DropDownList (ComboBox)
Label
TabControl
DropDownMenu

- Yleistä

Nimi: (myös nimiav.) Web.UI.WebControls.HtmlEditTboxToolBar
Kuvaus: (tehtävä) Vastaa HtmlEditTbox:n Toolbar:n lisäämisestä, alustamisesta, ominaisuuksien tallettamisesta ViewStateen (välitetään viite HtmlEditTbox:n ViewStateen) ja pelkästään ToolBar:n tarvitsemista scripteistä.
Versio: 1.0
Kehitetty osana projektia: HtmlEditCtrl versiosykli 2
Näkyvyysalue: Public (rakentaja internal)
 

Emo komponentin ja/tai paketin nimi:

(jos sisältyy kiinteästi johonkin pakettiin joka ei vaihdu eri projektien puitteissa)

 

  Sisältyy komponenttiin HtmlEditTbox

Arvioidut käyttömahdollisuudet eri projekteissa (Yleiskäyttöisyys aste)

  • 3 (3R)= Täysin yleiskäyttöinen ja tod. näk. hyödyllinen

  • 2 (2R)= Yleiskäyttöinen muttei ehkä hyödyllinen (esim. kapeahko projektispesifinen sovellusalue)

  • 1 (1R)= Osittain yleiskäyttöinen eli vaatii muokkausta ennen uudelleen käyttöä (tai vain tietyt metodit)

  • 0 = Vain tämän projektin käyttöön. Muissa projekteissa korkeintaan pohjana tai mallina

Huom. Yleiskäyttöisyyden arvioinnissa on huomioitava myös luokan riippuvuudet muihin luokkiin/moduuleihin. Yleiskäyttöisyys aste on riippuvuuksien perusteella sama kuin riippuvuussuhteista heikoimman luokan/moduulin yleiskäyttöisyys. R numeron perässä tarkoittaa että ko. luokka on yleiskäyttöinen ryhmänä (komponenttina) eli yhdessä tiettyjen luokkien/moduulien kanssa. Tässä tapauksessa on lueteltava muut moduulit/luokat joiden kanssa annettu yleiskäyttöisyys aste täyttyy.

 

 3R HtmlEditTbox-kontrolliin liittyvät muut luokat
yksinään 0

Suorat riippuvuudet:

(luettelona, tarvittaessa luokkakaavio)

 

 Riippuu seuraavista toteutuksen aikana lisätyistä luokista:
  • CtrlPartMngr (apuluokka ominaisuuksien toteuttamiseen) (CtrlPartMngr.cs),
  • ICtrlPart (yhteinen rajapintaluokka sekä EditTboxToolbar:lle että EditTboxTexbox:lle) (periytyy) (ICtrlPart.cs)
  • ImageBtns (ToolBar:n nappuloiden kokoelmaluokka joka vastaa nappulakokoelman indeksoinnista ja säilyttämisestä) (ImageBtns.cs)
  • ImageBtnsEnumerator(ToolBar:n nappula kokoelman iteroinnista vastaava luokka)(ImageBtns.cs)

 

- Käyttöliittymän kontrollit

ToolBar:n ulkoasu on suunnilleen seuraava:

Nappuloiden nimet ja selitykset vasemmalta oikealle: (kaikki kontrollit internaleja) Prioriteetin 2 toimintoihin liittyvät nappulat (align right ja laajennettava otsikko --> +) on jätetty selityksistä pois vaikka ne näkyvätkin kuvassa. Tarkemmat infot toimintojen kulusta määrittelyn yhteydessä.

Rajapinta
Kontrolli Kuvaus
mySaveIBtn Tallennusnappula --> tallentaa kontrollin sisällön (HTML) --> Saa aikaan serverillä käynnin
myCutIBtn Leikkausnappula --> siirtää valitun tekstin leikepöydälle (poistaa tekstin kontrollista) --> Ei serverillä käyntiä
myCopyIBtn Kopiointinappula --> Kopioi valitun tekstin leikepöydälle--> Ei serverillä käyntiä
myPasteIBtn Liittämisnappula --> Liittää tekstin valittuun kohtaan leikepöydältä--> Ei serverillä käyntiä
myBoldIBtn Lihavointinappula --> Lihavoi valitun tekstin --> Ei serverillä käyntiä
myItalicIBtn Kursivointinappula --> Kursivoi valitun tekstin --> Ei serverillä käyntiä
myUnderlineIBtn Alleviivausnappula --> Alleviivaa valitun tekstin --> Ei serverillä käyntiä
myNumberListIBtn Numerolistanlisäysnappula --> Lisää numeroidun listan valittuun paikkaan --> Ei serverillä käyntiä
myBulletListIBtn Numeroimattomanlistanlisäysnappula --> Lisää numeroimattoman listan valittuun paikkaan --> Ei serverillä käyntiä
myAlignLeftIBtn Tekstin vasemmalle tasaus -nappula --> Tasaa valitun tekstin vasemmalle --> Ei serverillä käyntiä
myAlignCenterIBtn Tekstin keskitysnappula --> Keskittää valitun tekstin --> Ei serverillä käyntiä
myHrIBtn Vaakaviivanappula --> Lisää vaakaviivan valittuun paikkaan --> Ei serverillä käyntiä
myHrefIBtn Hyperlinkki nappula --> Lisää hyperlinkin valittuun paikkaan --> Ei serverillä käyntiä
myImageIBtn Kuvan lisäys nappula --> Lisää kuvan valittuun paikkaan --> Ei serverillä käyntiä
myHeadingDdList Otsikon lisäys dropdownlista --> Muuttaa valitun tekstin valitun tasoiseksi otsikoksi --> Ei serverillä käyntiä
mySourceCheckBox Lähdekoodin näytön valinta/valinnan poisto --> aiheuttaa serverillä käynnin

 

- Rajapinta

Tähän on merkitty näkyviin vain sellaiset kantaluokan metodit, propertyt tai eventit joiden totetusta tämä periytetty luokka muuttaa. Näissä tapauksissa taulukossa selityksen perässä on suluissa (inherited from kantaluokan nimi). Linkit kantaluokkien/rajapintojen kuvauksiin ennen varsinaista luokkakuvausta.

Näkyviin ei ole merkitty private-tason metodeja, jäsenmuuttujia tai propertyjä. Näkyviin ei myöskään ole merkitty sellaisia protected/internal tason metodeja jotka eivät ole ulkoisen käytön/arkkitehtuurin ymmärtämisen kannalta olennaisia.

Metodien parametrit jätetään kuvauksissa vielä avoimiksi. Suuntaa antavia metodien parametrilistoja voidaan luokkakuvauksiin merkitä mutta tarkat parametrilistat liitetään vasta CodeCommentReporteihin.

Kaikkia propertyjä koskevat tiedot: Virhekäsittely = Jos viewstatea ei alustettu palauttaa oletuksen

Kaikkia tooltip-propertyjä koskevat lisäksi euraavat tiedot: Oletusarvo = "", kuvaus = vastaavan kontrollin tooltip. Näitä ei ole itsestäänselvyyksinä listattu taulukkoon.

Kaikkia skriptien kysely metodeja ts Get...Scripts(...) koskevat seuraavat säännöt. Skriptit palautetaan ilman skriptitageja (ne on siis muualla lisättävä ennen kuin skripti lisätään sivulle). Tämän ansiosta samaan skriptiblokkiin voidaan lisätä muitakin osia. Metodi palauttaa tyhjän stringin mikäli ko. tyypin skriptiä ei tarvita. Jos metodi on muotoa: GetCommon...Script(...) on kyseessä ns. yhteiskäyttöinen skripti ts. tätä skriptiä ei tarvitse lisätä jokaista kontrollia kohden erikseen vaan riittää kun sivulla on yksi kappale. Vastaavasti jokaista kontrollia varten erikseen lisättävät skriptit ovat muotoa GetCtrlSpecific...Script(...).

 

Periytyy:

Luokka/rajapinta Kuvaus (erityisesti kantaluokkanäkökulmasta)
System.ComponentModel.Component .NET:n komponenttien kantaluokka. Toolbar:n täytyy olla komponentti jotta sen sisältämät propertyt näkyvät oikein suunnittelutilassa (Visual Studio.NET)

 

Rajapinta
Rajapintametodi/property/eventti Kuvaus

 

Publics

BtnBoldToolTip  
BtnItalicToolTip  
BtnUnderlineToolTip  
BtnSaveToolTip  
BtnCutToolTip  
BtnCopyToolTip  
BtnPasteToolTip  
BtnNbrListToolTip  
BtnBulletListToolTip  
BtnAlignLeftToolTip  
BtnAlignCenterToolTip  
BtnHrToolTip  
BtnHrefToolTip  
BtnImageToolTip  
CheckBoxSourceToolTip  
CheckBoxSourceText Lähdekoodi-valintanappulan  teksti

Oletus: source

CheckBoxSourceEnabled  

True jos source-näyttö enabloitu.

Oletus: true

BtnDlistHeadingText   Tyylivalinta (otsikkovalinta) dropdown-listan valinta-ohjeen teksti (otsikkovalinta) 
SourceSelected  

True jos source-näkyvissä. Tällöin nappulat Savea ja Source-valintaa lukuunottamatta disabloitu.

Oletus: False

BtnCssClass  

ToolBar:n nappuloihin liitettävä CssClassId

Oletus: "HtmlEditTbox_ToolbarImageBtn"

BtnMouseOverColor  

Toolbar:n nappuliden taustaväri kun hiiren kursori viedään nappulan päälle

Oletus:System.Drawing.SystemColors.Highlight


 

Internals

Mode:EHtmlEditTboxState  

Toolbar:n moodi. Mahdolliset arvot eBasic, eAdvanced ja eReadOnly

eBasic. Nappulat Save, Bold, Italic, Underline, Cut, Copy ja Paste  näkyvissä ja enabloituina samoin Source valinta jos CheckBoxSourceEnabled attribuutti ei sitä estä. Muut toiminnot piilotettu.

eAdvanced Kaikki nappulat enabloituna ja näkyvissä.

eReadOnly. Koko ToolBar piilotettuna

Oletus: eBasic

New(mainTblCell, fatherCtrl, viewState:StateBag )  

Internal rakentaja ottaa parametrinaan sen pääkehyksen (myMainTable) solun johon toolbar halutaan lisätä , isäkontrollinviitteen johon osa lisätään ja ViewState StateBag:n,(isäkontrollin) yleiset tyyliasetukset. Kutsuu Create() metodia muttei vielä alusta kontrolleja. Ts. ei kutsu Initialize() metodia.

Virhekäsittely: Ei mietitty

Create()  

Luo toolbar:n lapsikontrollit (ei vielä alusta niiden tyyliä/muita arvoja) ja lisää ne rakentajan parametrina saadun solun kontrollikokoelmaan.

Virhekäsittely: Ei mietitty

Initialize(father:HtmlEditTbox )  

Alustaa toolbarin lapsikontrollit renderöintikuntoon. (Esim. alustaa tyylit ja mitat) (ei oikeastaan tarvitse parametriaan mutta yhtenäisyyden vuoksi ottaa rakentajaa spesifisemmän viitteen isäkontrolliin)

Virhekäsittely: Ei mietitty

GetCommonStartUpScript():string  

Palauttaa Toolbar:n liittyvän yhteiskäyttöisen, sivun latauksen yhteydessä ajettavan skriptin

Virhekäsittely: Ei mietitty

GetCommonScript():string  

Palauttaa yhteiskäyttöisen, ToolBar:n toiminnon yhteydessä ajettavan skriptin

Virhekäsittely: Ei mietitty

GetCtrlSpecificStartUpScript():string  

Palauttaa Toolbar:n liittyvän kontrollikohtaisen sivun latauksen yhteydessä ajettavan skriptin

Virhekäsittely: Ei mietitty

GetCtrlSpecificScript():string  

Palauttaa kontrollikohtaisen Toolbar:n toiminnon yhteydessä ajettavan skriptin

Virhekäsittely: Ei mietitty

GetDesignTimeHtml():string  

Palauttaa suunnittelun aikana näytettävän toolbar:n html:n

Virhekäsittely: Ei mietitty

SaveClick(object sender, EventArgs e)  

Eventti joka nousee kun ToolBar:n save-nappulaa klikataan

Virhekäsittely: Ei mietitty

SourceClick(object sender, SourceClickEventArgs e)  

Eventti joka nousee kun ToolBar:n sourcen valinta muuttuu (Vaatii C#:lla toteutettaessa eventtiargumenttiluokan lisäksi  delegaatin eventin välittämiseen)

Virhekäsittely: Ei mietitty

SourceClickEventArgs  

Sourcevalintaan/valinnan poistoon liittyvät parametrit välittävä eventtiargumenttiluokka.

  • Property bool CurrentSelectionState = true --> Jos source valittu click:n jälkeen, false jos ei

Virhekäsittely: Ei mietitty