Autor Téma: Moje MCVE - pripomienky a návrhy  (Přečteno 797 krát)

Offline miroB

  • Guru
  • *****
  • Příspěvků: 516
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #15 kdy: 20-05-2019, 20:31:41 »
Pre istotu Ťa upozorňujem, keď si to tu ešte nečítal, že nie všetky štýly v TMS majú rovnaké názvy, poradie a rovnaký počet!
Edit:
Neviem či si na to natrafil. Majú zvlášť štýl Metro, kde si môžeš zvoliť ľubovoľnú farbu. + tmavý či svetlý, ako to máš v ukážke.
Áno, viem o tom. Demo som upravil tak, aby akceptovalo rozdiely:
AdvStyleIF.TTMSStyle vs AdvToolBarStylers.TToolBarStyle
Rozdielov nie je veľa. TToolBarStyle obsahuje navyše bsOfficeXP. To je jediné. Inak je už poradie rovnaké.
Úpravu mám na dvoch miestach v danom demo: vo FormCreate (načítanie do ComboBoxu) a v ComboBox1Change (ošetrené rozdiely).
vyriešil som to raz a prevždy, aby som nemusel všade ručne cpať tie zoznamy.
Nikde ich nemajú všetky. To sa mi nepáčilo.
Stačí aby som tie dve veci hodil do každého TMS dema, kde sú štýly.
Ako vidieť z obrázkov, funguje aj Metro aj Office, aj všetky Windows štýly od XP po Win 10.
Je to skontrolované. Neposlal som všetkých 25, lebo by presahovali 500 kB.
« Poslední změna: 20-05-2019, 20:53:43 od miroB »

Offline miroB

  • Guru
  • *****
  • Příspěvků: 516
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #16 kdy: 20-05-2019, 20:45:27 »
Citace
V žiadnom prípade nechcem rozširovať vlastnosti TMS komponentov. Kto by sa o to potom staral. Jedine, žeby sa to dalo urobiť nejako hromadne na pozadí.
Hodlám používať len TMS komponenty, ktoré akceptujú štýly. Preto sa s tým dosť hrajem. Aby som nešiel naslepo.
Citace
Ja pri tom VST dosť čarujem s farbami + preťahujem medzi nimi uzly. Dosť som sa s tým natrápil. Keby som použil iný komponent, tak neviem či by som to zvládol.
Dosť dlho mi trvalo, kým sa s VST naučil ako-tak pracovať. A teraz by som to zahodil? Vďaka nemu mám jednotný štýl cez celú aplikáciu. Či sa jedná o tabuľky alebo stromy.
Podobne..
Pokúsim sa ísť tou cestou, že vyberiem TMS štýl, ktorý sa bude podobať na VST. Aj VST trochu poladím. Nepotrebujem hogo-fogo. Vzhľad len taký, aby bolo všetko dobre rozoznať. Na čierne, či veľmi tmavé pozadia zatiaľ nemyslím.
Aj keď to dynamické menenie 25 štýlov v TMS je fakt pôsobivé. Celá aplikácia naraz. Bez akýchkoľvek veľkých úprav. Na to  majú v TMS TAdvFormStyler, ktorý zmení štýl vštkých komponentov, čo sú na to navrhnuté.  Vrátane TAdvStringGrid a TDBStringGrid. Zdá sa, že takých komponentov je tam mnoho.

Offline miroB

  • Guru
  • *****
  • Příspěvků: 516
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #17 kdy: 20-05-2019, 22:15:09 »
Pre istotu Ťa upozorňujem, keď si to tu ešte nečítal, že nie všetky štýly v TMS majú rovnaké názvy, poradie a rovnaký počet!
Edit:
Neviem či si na to natrafil. Majú zvlášť štýl Metro, kde si môžeš zvoliť ľubovoľnú farbu. + tmavý či svetlý, ako to máš v ukážke.
Áno, viem o tom. Demo som upravil tak, aby akceptovalo rozdiely:
AdvStyleIF.TTMSStyle vs AdvToolBarStylers.TToolBarStyle
Rozdielov nie je veľa. TToolBarStyle obsahuje navyše bsOfficeXP. To je jediné. Inak je už poradie rovnaké.
Opravujem je tu ďalší štýl: AdvMenuStylers.TOfficeStyle. Je určený pre Menu. Ten nemá "Office 2003 Classic" a "Windows XP". A je trochu viac rozhádzaný. Ale vyriešim aj to, aby som nestrácal čas s demami.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4420
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #18 kdy: 21-05-2019, 08:35:01 »
Ak máš záujem, tak Ti môžem poslať na to hotové riešenie.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Guru
  • *****
  • Příspěvků: 516
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #19 kdy: 21-05-2019, 11:38:28 »
Ak máš záujem, tak Ti môžem poslať na to hotové riešenie.
Jasne, že mám záujem. Rád pošlem aj to svoje. Len, aby sme sa náhodou neprevinili voči licencii.
Moje aktualizované zoznamy štýlov sú na obrázku. V každom riadku je len kompatibilný štýl. Screen je z MS Excel tabulky. Štýl TAdvPanelStyle, bol rozhádzaný najviac.
Poznámka: TAdvPanelStyle v kombinácii so všetkými ostatnými TMS spôsobil haváriu demo programu. Tomu by som sa vyhýbal.
Poznámka: Štýly VCL a TMS nepoužívať v jednom programe. Je to dôvod havárie dema!
Moja prvotná požiadavka bola možnosť kvalitného menu - Štýly som riešil v rámci prieskumu.
« Poslední změna: 21-05-2019, 11:45:01 od miroB »

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4420
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #20 kdy: 21-05-2019, 12:03:26 »
V prílohe.
Ten Excel si si mohol ušetriť. Stačilo si ho vypýtať ;D
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Guru
  • *****
  • Příspěvků: 516
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #21 kdy: 21-05-2019, 12:50:53 »
Fiiha, ďakujem. Vidím tam JSON a RTTI !

Moje riešenie je jednoduché pre rýchlu potrebu.
Pripájam kód ako doplnok:
  • demo: \tmssoftware\TMS Component Pack\Demos\AdvToolBar\Office2010Metro\Office2010Demo.dproj
  • a na báze Excel tabuľky TMS štýlov. Viď aj obr. v príspevku vyššie.
TToolBarStyle je použitý ako základ pre naplnenie riadiaceho ComboBoxu
Sú vyriešené zoznamy štýlov:
  • TToolBarStyle,   TTMSStyle,   TOfficeStyle
  • Metro Dark a Light
  • Nie je rieseny styl : TAdvPanelStyle. Dal by sa riesit podobne ako je "case AdvFormStyler1.Style of"
Malo by fungovať hneď po dosadení do projektu Office2010Demo.dproj.
Pozor:
- FormCreate : treba skombinovať so stávajúcim kódom dema
- ComboBox1Change je komplet
« Poslední změna: 21-05-2019, 12:57:19 od miroB »

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4420
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #22 kdy: 21-05-2019, 13:05:33 »
JSON používam na uloženie informácii o aplikácii.
RTTI je tam jedine kvôli získaniu názvu vymenovanej položky. Ináč s ním nikdy nepracujem. Pre mňa to už je vyššia škola.
Riešenie je univerzálne a nezávislé na prípadných zmenách v budúcnosti. Ak by nastali, tak je potrebné vykonať kontrolu a prípadne to upraviť.
Písal si, že FormStyler sa postará o všetko čo je na ňom. Podľa mňa to nie je pravda. Netestoval som to. Skús si nahodiť PageControl.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Guru
  • *****
  • Příspěvků: 516
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #23 kdy: 21-05-2019, 13:25:24 »
Písal si, že FormStyler sa postará o všetko čo je na ňom. Podľa mňa to nie je pravda. Netestoval som to..
Máš pravdu ty. Napr. ani AdvTreeView sa nechytá.
Vychádzal som z TMS "TAdvStringGrid Developers Guide.pdf", citujem:
"This means that with a TAdvFormStyler on the form, setting the style on this component will automatically change the style of all TMS components on the form that are TMS style interface compliant and thus also TAdvStringGrid."
U každého komponentu treba preto pozrieť návody na "TMS style interface compliant", alebo si prakticky overiť.
..Skús si nahodiť PageControl.
Zrovna alternatívy PageControl majú "pokryté", ako som vyrozumel z rôznych demo. Pozri napr: TMS TAdvOfficePager.pdf
« Poslední změna: 21-05-2019, 13:33:36 od miroB »

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4420
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #24 kdy: 21-05-2019, 14:18:06 »
Čaro TMS nie je v štýloch, ale v ich funkčnosti. To akurát môžeme robiť machrov pre užívateľmi akí sme šikovní :D a koľko sme sa museli natrápiť kým sme to zmakli. Vraj to už vyšlo/vychádza z módy.
Taký AdvEdit je pre mňa úžasný. Použijem jediný druh komponentu na zobrazenie x typov. Druhý je StringGrid, kde si môžeš napchať čo chceš. Ja som s ním ešte nepracoval, ale Daniel Andraščík si bez neho svoje aplikácie nevie predstaviť.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Guru
  • *****
  • Příspěvků: 516
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #25 kdy: 21-05-2019, 15:35:18 »
Čaro TMS nie je v štýloch, ale v ich funkčnosti..
To je na diskusiu.. Na príklade "Office2010Demo.exe" je vidieť, že aj vlastnosti Menu sa menia na báze štýlov. Porovnaj klik na menu "File" pre novšie a staršie štýly.
Ba už aj prvý vzhľad menu nie je rovnaký.
Je to vlastne tvar office verzii pred 2007, pri 2007 a po 2010.
Alebo tiež štýly od win 7 vrátane. Menu "File" tak produkuje rozne zobrazenia, v zavislosti od stylov

Offline miroB

  • Guru
  • *****
  • Příspěvků: 516
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #26 kdy: 23-05-2019, 11:17:05 »
Pre istotu Ťa upozorňujem, keď si to tu ešte nečítal, že nie všetky štýly v TMS majú rovnaké názvy, poradie a rovnaký počet!
K TMS štýlom, čo sme rozvíjali v príspevkoch vlákna za uvedeným citátom:
TAdvFormStyler spája všetky typy štýlov a ak je na Form-e, je nadradený všetkým ostatným "..Styler"-om.
Napriklad: tsOffice2003Blue v TAdvFormStyler, automaticky nastaví osOffice2003Blue aj v AdvMenuOfficeStyler1 a td.
Viac info pozri tu: https://www.tmssoftware.com/site/atbdev3.asp
Záver: nie je potrebné robiť prevody. Napríklad moja prevodná Excel tabuľka, resp naše kódy, čo boli vyššie zverejnené vo formáte txt, sú vyriešené komponentou TAdvFormStyler.
« Poslední změna: 23-05-2019, 11:18:43 od miroB »

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4420
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #27 kdy: 23-05-2019, 12:00:58 »
Žeby? Nastavil som tsOffice2010Black. Pri komponentoch som nenastavoval nič.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Guru
  • *****
  • Příspěvků: 516
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #28 kdy: 23-05-2019, 15:59:25 »
Žeby? Nastavil som tsOffice2010Black. Pri komponentoch som nenastavoval nič.
Keby si si dal námahu a vyskúšal napríklad demo: AdvGlowButton
Na okno pridáš TAdvFormStyler.
Vyberieš v Design time pre AdvFormStyler1.Style tvoj štýl tsOffice201Black. Uvidíš.
Dá sa to potom v runtime prekryť v danom príklade voľbou z ComboBoxu. Ten reaguje len na dva buttony. Ostatné zostane podľa TAdvFormStyler.
Stačí si prečítať návod.
« Poslední změna: 23-05-2019, 16:01:07 od miroB »

Offline miroB

  • Guru
  • *****
  • Příspěvků: 516
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Moje MCVE - pripomienky a návrhy
« Odpověď #29 kdy: 23-05-2019, 17:04:07 »
A úplne výborné je, že TAdvFormStyler má property ComboBox, dostupnú aj v DesignTime . Keď sa v TAdvFormStyler vyberie reálny ComboBox, okamžite sa naplní všetkými hodnotami štýlov typu TTMSStyle (Enum definovaný v AdvStyleIF.pas ).
Potom aj bez priadnia udalosti OnChange (šetríme kód a námahu), sa vykoná priradenie štýlu. Samozrejme podľa toho, akú položku si užívateľ vyberie.
« Poslední změna: 23-05-2019, 17:05:51 od miroB »