• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JACHYMKO: To by asi slo. Jeste budu muset zaridit, abych rozlisil zmenu toho obsahu na zaklade ty puvdoni akce. Cili jestli to udelal uzivatel a nebo ja. To bude chutovka :P.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    Priklad, jak ta kompozice UI muze vypadat:
    + Window
    |-+ nejakej ovladaci bar
    |-+ content kontajner (zde bud budu prepinat jiny control, nebo na nem budu volat back/forward)
      |-+ content (bud browser, nebo custom usercontrol. pro tento pripad usercontrol)
        |-+ content (napr. nejaky tab-control, ktery ma reagovat na zpet/vpred prepinanim tabu jak je uzivatel klikal)
        |-+ content (napr. nejaky jiny tab-control)
    


    Jak urcim pri "back", kterymu z tech tab-controlu mam zavolat "back/forward"? To budu muset mit nejakou nadrizenou navigation service, ktera na zaklade udalosti zmen tech tabu bude muset sestavovat nejaky ty Uri, a za nich to pak budu muset dekodovat predpokladam.

    Takhle jsi to myslel?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JACHYMKO: No jasne, ale kdyz budu mit ty views uvnitr views uvnitr views (atd...) a ty budou mit teda tu svoji navigation service. Jak najdu tu spravnou navigation service, kde mam volat back/forward?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JACHYMKO: Jak pak ale nejdu tu spravnou nestovanou navigation service?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JACHYMKO: Ten je bohuzel malo ohebnej. Chci tam mit vlastni browser, v nem navigovat vpred/vzad. Navic mi ten Frame zobrazuje tu navigacni listu, kterou nechci.

    Navic ja ty views mam hierarchicky bohuzel. Takze tam budu mit nejakou instanci a v ramci ty instance potrebuju taky resit zpet/vpred.

    A nebo jsem tu NavigationService tak uplne nepochopil a skryva prede mnou svoje ficury :).
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    JACHYMKO: no prave,proto sem se snazil doporucit trochu jinej pristup, obejit to tim, ze si budes uchovavat jen to nejnutnejsi aby si mohl znova nahodit co si tam mel.

    to problem neni, jen to je treba dobre navhrnout aby to bylo flexibilni.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    JACHYMKO: no a nebude to zbytecne zasirat spoustu pameti ?
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    JACHYMKO: jenze to nevyresi ty jeho kontroly.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    TENCOKACISTROMY: ja ti rozumim, ale asi ti to blbe vysvetluju :)
    ale v podstate des tou spravnou cestou
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    ANDY_WARHOL: Asi si nerozumime :).
    Muj pozadavek je takovej, abych mohl na akce "navigovat, zpet, vpred" reagovat flexibilne. Nechci aby to bylo zavisly na tom jestli se budu navigovat v browseru a nebo ve vlastnich wpf controlech. Coz znamena, ze jednak budu muset udelat nejakej kontajner, kde budu trzet tu historii a "budoucnost" pro zpet/vpred. A zaroven budu muset vytvorit nejakej subsystem pro zajisteni toho zobrazovani contentu (vcetne toho, abych se objevil na spravne odscrollovanym seznamu).

    A tak se ptam, jestli vas nekoho nenapada jak to spravne udelat nebo jestli neco takovyho dokonce i neznate. Zatim nejbliz mi prijde memento pattern, kterej v sobe ma polozky s metodama undo/redo (cili zpet/vpred). Nechci vymejslet kolo, potrebuju aby to bylo funkci a mam na to tak den casu.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    TENCOKACISTROMY: jde o to co myslis tim obecny a univerzalni
    jestli v ramci tve aplikace nebo sveta a tak vubec...
    jestli to myslis tak, aby to bylo univerzalni v ramci tvoji aplikace, tak s tim nevidim problem, muzes to nadesignovat tak, aby te v budouci implementaci nic neprekvapilo a nemel si problem s tim to rozsirovat podle potreby
    druha tvoje otazka je opravdu jen o implementaci, samozrejme ze muzes pouzivat udalosti, na tom je to wpf postaveny, tedy pokud pouzivas klasicky MVVM.
    jestli sem spravne pochopil ten pattern (ja vyuzivam jen zakladni, zbytek mi prijde zbytecnej se ucit, protoze to vymyslim sam rychleji nez hledat z existujicich, takze sem se na to musel mrknout), tak tam ukladas celej ten objekt, ale to je podle me zbytecny - to sem myslel tim zjednodusenim. ty nemusis preci ukladat celou strukturu view ve view aby si se k tomu pak dostal, ty si tu strukturu muzes predstavit jako stromecek a ten si ukladat. a to bude mnohem min narocnejsi. ale jak rikam, ja nevim jak tu aplikaci mas postavenou takze to je takovy obecny tlachani.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    ANDY_WARHOL: Jde to zjednodusit i pro obecny pripad? Vcetne toho, ze potrebuju aby to bylo schopny fungovat s asynchronnim nacitanim? Tim mam na mysli - nanaviguju na "http://neco.nekde/asdf/123.aspx", to nacitani mi bezi asynchronne a pak dotanu jen event o (ne)uspesnym nacteni.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    TENCOKACISTROMY: no jasne, neco takovyho se urcite pouzit da.
    ovsem de to i zjednodusit.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    ANDY_WARHOL: Ja chci prave neco univerzalniho. Protoze potrebuju, aby to univerzalni bylo. Ta aplikace bude zit dlouho a bude se postupne rozsirovat.
    Zatim jsem se dopracoval k variaci na memento pattern.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    TENCOKACISTROMY: ja bych tu aplikaci musel videt, pak bych ti vymyslel nejaky reseni, ale takhle se blbe radi...
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    ANDY_WARHOL: Je tam dynamickej kontent. Jsou to views uvnitr views uvnitr views ... Jak mezi nima budu navigovat?
    Ten weboej content jede online. Tam to neni problem, tam si to ten browser ohandluje sam.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    no tak mas ten neco jako views ? takze vis, co si uzivatel zobrazuje a podle toho mu to pak muzes vratit kdyz da back,
    v tom browseru se zobrazuje neco z netu ? nebo to jsou jenom stranky z lokalu co mu treba dynamicky pripravujes ?
    to vsechno by si pak samozrejme musel nekam ukladat, ale to neni principalne nic tezkyho.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    ANDY_WARHOL: To bych klidne mohl. Ale jak zaridim, aby mi to tak spravne fungovalo? Jak rozumne zaridit, aby mi cesta "myapp://usercontrol1/category_X/item_123/detail" delala to, co bych ocekaval.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    TENCOKACISTROMY: neni jednodusi si trackovat kam user vlez v nejakym parsovatelnym stringu a mit za par minut napsany obsluzny veci k tomu ?
    ono sice to nebude top cisty, ale bude to mnohem jednodusi nez ohejbat nejakej kanon aby si mohl vystrelit za roh na vrabce :))))
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    Hele, mam aplikaci ve WPF. Chci tam tlacitka GoBack & GoForward, a ted prijde ta "slozitost".
    Cast aplikace so zobrazuje v ramci browseru (awesomium) a cast jsou vlastni usercontroly. Jak byste delali navigaci? Koukal jsem se na NavigationService a neni mi uplne jasny, jestli to jde nejak ohnout pro moje ucely. Tak si rikam, jestli to mam zkouset ohybat a nebo to proste opsat a rozsirit o nejaky vlastni speciality.

    Urcite ale nechci vymejslet kolo, takze jestli neco prehlizim, rad bych to vedel.
    Kliknutím sem můžete změnit nastavení reklam