[{"data":1,"prerenderedAt":320},["ShallowReactive",2],{"docs-nav-docs_cs":3,"docs-page-\u002Fcs\u002Fcustom-extensions\u002Fcustom-control":189,"docs-surround-\u002Fcs\u002Fcustom-extensions\u002Fcustom-control":317},[4],{"title":5,"path":6,"stem":7,"children":8},"Cs","\u002Fcs","cs",[9,13,37,50,68,85,104,118,137,158,175],{"title":10,"path":6,"stem":11,"navTitle":12},"Dokumentace QInsight","cs\u002Findex","Přehled",{"title":14,"navTitle":15,"path":16,"stem":17,"children":18,"page":36},"Začínáme",null,"\u002Fcs\u002Fgetting-started","cs\u002F01.getting-started",[19,23,27,31],{"title":20,"path":21,"stem":22,"navTitle":20},"Co je QENEX Suite","\u002Fcs\u002Fgetting-started\u002Fwhat-is-qenex-suite","cs\u002F01.getting-started\u002F1.what-is-qenex-suite",{"title":24,"path":25,"stem":26,"navTitle":24},"Co je QInsight","\u002Fcs\u002Fgetting-started\u002Fwhat-is-qinsight","cs\u002F01.getting-started\u002F2.what-is-qinsight",{"title":28,"path":29,"stem":30,"navTitle":28},"Instalace","\u002Fcs\u002Fgetting-started\u002Finstallation","cs\u002F01.getting-started\u002F3.installation",{"title":32,"path":33,"stem":34,"navTitle":35},"Uživatelské rozhraní QInsight","\u002Fcs\u002Fgetting-started\u002Fthe-qinsight-interface","cs\u002F01.getting-started\u002F4.the-qinsight-interface","Uživatelské rozhraní",false,{"title":38,"navTitle":15,"path":39,"stem":40,"children":41,"page":36},"První projekt","\u002Fcs\u002Ffirst-project","cs\u002F02.first-project",[42,46],{"title":43,"path":44,"stem":45,"navTitle":43},"Založení projektu","\u002Fcs\u002Ffirst-project\u002Fcreate-a-project","cs\u002F02.first-project\u002F1.create-a-project",{"title":47,"path":48,"stem":49,"navTitle":47},"Struktura projektu","\u002Fcs\u002Ffirst-project\u002Fproject-structure","cs\u002F02.first-project\u002F2.project-structure",{"title":51,"navTitle":15,"path":52,"stem":53,"children":54,"page":36},"Připojení zařízení","\u002Fcs\u002Fconnecting-a-device","cs\u002F03.connecting-a-device",[55,59,63],{"title":56,"path":57,"stem":58,"navTitle":56},"Přidání driveru","\u002Fcs\u002Fconnecting-a-device\u002Fadd-a-driver","cs\u002F03.connecting-a-device\u002F1.add-a-driver",{"title":60,"path":61,"stem":62,"navTitle":60},"Přidání protokolu","\u002Fcs\u002Fconnecting-a-device\u002Fadd-a-protocol","cs\u002F03.connecting-a-device\u002F2.add-a-protocol",{"title":64,"path":65,"stem":66,"navTitle":67},"Propojení driveru a protokolu","\u002Fcs\u002Fconnecting-a-device\u002Flink-driver-and-protocol","cs\u002F03.connecting-a-device\u002F3.link-driver-and-protocol","Propojení",{"title":69,"navTitle":15,"path":70,"stem":71,"children":72,"page":36},"Proměnné","\u002Fcs\u002Fvariables","cs\u002F04.variables",[73,77,81],{"title":74,"path":75,"stem":76,"navTitle":74},"Co je proměnná","\u002Fcs\u002Fvariables\u002Fwhat-is-a-variable","cs\u002F04.variables\u002F1.what-is-a-variable",{"title":78,"path":79,"stem":80,"navTitle":78},"Konverze a prezentace","\u002Fcs\u002Fvariables\u002Fconversion-and-presentation","cs\u002F04.variables\u002F2.conversion-and-presentation",{"title":82,"path":83,"stem":84,"navTitle":82},"Přidání proměnné","\u002Fcs\u002Fvariables\u002Fadd-a-variable","cs\u002F04.variables\u002F3.add-a-variable",{"title":86,"navTitle":15,"path":87,"stem":88,"children":89,"page":36},"Vizualizace","\u002Fcs\u002Fvisualization","cs\u002F05.visualization",[90,95,99],{"title":91,"path":92,"stem":93,"navTitle":94},"Vytvoření pracovní plochy","\u002Fcs\u002Fvisualization\u002Fcreate-a-workspace","cs\u002F05.visualization\u002F1.create-a-workspace","Pracovní plocha",{"title":96,"path":97,"stem":98,"navTitle":96},"Přidání controlu","\u002Fcs\u002Fvisualization\u002Fadd-a-control","cs\u002F05.visualization\u002F2.add-a-control",{"title":100,"path":101,"stem":102,"navTitle":103},"Navázání controlu na proměnnou","\u002Fcs\u002Fvisualization\u002Fbind-a-control","cs\u002F05.visualization\u002F3.bind-a-control","Navázání controlu",{"title":105,"navTitle":15,"path":106,"stem":107,"children":108,"page":36},"Běh a sledování","\u002Fcs\u002Frunning","cs\u002F06.running",[109,113],{"title":110,"path":111,"stem":112,"navTitle":110},"Spuštění a zastavení","\u002Fcs\u002Frunning\u002Fstart-and-stop","cs\u002F06.running\u002F1.start-and-stop",{"title":114,"path":115,"stem":116,"navTitle":117},"Sledování živých dat","\u002Fcs\u002Frunning\u002Fwatching-live-data","cs\u002F06.running\u002F2.watching-live-data","Živá data",{"title":119,"navTitle":15,"path":120,"stem":121,"children":122,"page":36},"Logování a přehrávání","\u002Fcs\u002Flogging-and-replay","cs\u002F07.logging-and-replay",[123,127,132],{"title":124,"path":125,"stem":126,"navTitle":124},"Logování dat","\u002Fcs\u002Flogging-and-replay\u002Flogging-data","cs\u002F07.logging-and-replay\u002F1.logging-data",{"title":128,"path":129,"stem":130,"navTitle":131},"Přehrávání logu","\u002Fcs\u002Flogging-and-replay\u002Freplaying-a-log","cs\u002F07.logging-and-replay\u002F2.replaying-a-log","Přehrávání",{"title":133,"path":134,"stem":135,"navTitle":136},"Export dat","\u002Fcs\u002Flogging-and-replay\u002Fexporting-data","cs\u002F07.logging-and-replay\u002F3.exporting-data","Export",{"title":138,"navTitle":15,"path":139,"stem":140,"children":141,"page":36},"Python skripty","\u002Fcs\u002Fpython-scripts","cs\u002F08.python-scripts",[142,146,150,154],{"title":143,"path":144,"stem":145,"navTitle":12},"Přehled skriptů","\u002Fcs\u002Fpython-scripts\u002Fscripts-overview","cs\u002F08.python-scripts\u002F1.scripts-overview",{"title":147,"path":148,"stem":149,"navTitle":147},"Přístup k proměnným","\u002Fcs\u002Fpython-scripts\u002Faccessing-variables","cs\u002F08.python-scripts\u002F2.accessing-variables",{"title":151,"path":152,"stem":153,"navTitle":151},"Příklad skriptu","\u002Fcs\u002Fpython-scripts\u002Fexample-script","cs\u002F08.python-scripts\u002F3.example-script",{"title":155,"path":156,"stem":157,"navTitle":155},"Post-processing CSV","\u002Fcs\u002Fpython-scripts\u002Fcsv-post-processing","cs\u002F08.python-scripts\u002F4.csv-post-processing",{"title":159,"navTitle":15,"path":160,"stem":161,"children":162,"page":36},"Vlastní rozšíření","\u002Fcs\u002Fcustom-extensions","cs\u002F09.custom-extensions",[163,167,171],{"title":164,"path":165,"stem":166,"navTitle":164},"Vlastní driver","\u002Fcs\u002Fcustom-extensions\u002Fcustom-driver","cs\u002F09.custom-extensions\u002F1.custom-driver",{"title":168,"path":169,"stem":170,"navTitle":168},"Vlastní protokol","\u002Fcs\u002Fcustom-extensions\u002Fcustom-protocol","cs\u002F09.custom-extensions\u002F2.custom-protocol",{"title":172,"path":173,"stem":174,"navTitle":172},"Vlastní Control","\u002Fcs\u002Fcustom-extensions\u002Fcustom-control","cs\u002F09.custom-extensions\u002F3.custom-control",{"title":176,"navTitle":15,"path":177,"stem":178,"children":179,"page":36},"Reference","\u002Fcs\u002Freference","cs\u002F10.reference",[180,185],{"title":181,"path":182,"stem":183,"navTitle":184},"Drivery, protokoly a controly","\u002Fcs\u002Freference\u002Fdrivers-protocols-controls","cs\u002F10.reference\u002F1.drivers-protocols-controls","Drivery, protokoly, controly",{"title":186,"path":187,"stem":188,"navTitle":186},"Řešení potíží","\u002Fcs\u002Freference\u002Ftroubleshooting","cs\u002F10.reference\u002F2.troubleshooting",{"id":190,"title":172,"body":191,"description":311,"extension":312,"meta":313,"navTitle":172,"navigation":314,"path":173,"seo":315,"stem":174,"__hash__":316},"docs_cs\u002Fcs\u002F09.custom-extensions\u002F3.custom-control.md",{"type":192,"value":193,"toc":302},"minimark",[194,198,210,215,226,267,271,281,285,291,295],[195,196,172],"h1",{"id":197},"vlastní-control",[199,200,201,202,209],"p",{},"Controls jsou třetím typem pluginů — DLL ve složce ",[203,204,205],"strong",{},[206,207,208],"code",{},"Controls"," vedle\nQInsight.exe. Po restartu aplikace se control objeví v panelu Controls\na lze ho přetahovat na pracovní plochy jako kterýkoli dodávaný prvek.",[211,212,214],"h2",{"id":213},"základ","Základ",[199,216,217,218,221,222,225],{},"Control implementuje rozhraní ",[206,219,220],{},"IControlBase","; prakticky se dědí ze základní\ntřídy ",[206,223,224],{},"ControlBase",", která obstará společné vlastnosti (pozice, velikost,\nbarvy, zámek, serializaci vazeb na proměnné). Klíčové body:",[227,228,229,236,244,252,264],"ul",{},[230,231,232,235],"li",{},[203,233,234],{},"Label"," ve specifikaci = text v panelu Controls.",[230,237,238,243],{},[203,239,240],{},[206,241,242],{},"BindVariable(variable)"," — voláno při přetažení proměnné na control.\nControl s jednou hodnotou (jako Gauge) předchozí proměnnou nahradí,\nvícehodnotový (jako Graph) přidává.",[230,245,246,251],{},[203,247,248],{},[206,249,250],{},"UpdateVariableValueAsync(...)"," — sem přicházejí živé hodnoty; control\nsi sám řídí, jak často se překreslí (Refresh time).",[230,253,254,263],{},[203,255,256,259,260],{},[206,257,258],{},"OnEditToRun"," \u002F ",[206,261,262],{},"OnRunToEdit"," — reakce na přechod mezi editačním\na runtime režimem (např. graf si vyčistí data).",[230,265,266],{},"Vlastnosti, které mají přežít uložení projektu, se serializují spolu\ns controlem.",[211,268,270],{"id":269},"mvvm","MVVM",[199,272,273,274,276,277,280],{},"UI controlu se píše striktně ",[203,275,270],{},": skládání v XAML, interakce přes\nbindingy a commandy, logika ve ViewModelu — bez logiky v code-behind.\nReferenčním vzorem je dodávaný ",[203,278,279],{},"Single-Signal"," control.",[211,282,284],{"id":283},"nasazení","Nasazení",[199,286,287,288,290],{},"Zkompilovanou DLL nakopírujte do složky ",[206,289,208],{}," a restartujte QInsight.\nControl se objeví v panelu Controls; jeho vazby a nastavení se ukládají\ndo projektu automaticky.",[211,292,294],{"id":293},"dále","Dále",[199,296,297,298,301],{},"Přehled všeho, co QInsight dodává —\n",[299,300,176],"a",{"href":182},".",{"title":303,"searchDepth":304,"depth":304,"links":305},"",3,[306,308,309,310],{"id":213,"depth":307,"text":214},2,{"id":269,"depth":307,"text":270},{"id":283,"depth":307,"text":284},{"id":293,"depth":307,"text":294},"Vlastní zobrazovací prvek — ControlBase, BindVariable a nasazení do složky Controls.","md",{},true,{"title":172,"description":311},"E3PNqAhBU2jX4ozDpfmnxDh5PViweF9Q-T55TS_RTro",[318,319],{"title":168,"path":169,"stem":170,"navTitle":168,"children":-1},{"title":181,"path":182,"stem":183,"navTitle":184,"children":-1},1783626657537]