From 62a425a9b16a44ff627501cad0a49704729eed7f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Wed, 21 Mar 2018 09:45:46 +0100 Subject: [PATCH] DbgEvents base --- CrowIDE/CrowIDE.csproj | 1 + CrowIDE/src/CrowIDE.cs | 4 +- CrowIDE/src/DesignInterface.cs | 23 +- CrowIDE/src/ProjectTree/ImlProjectItem.cs | 4 + CrowIDE/ui/CrowIDE.crow | 1 + CrowIDE/ui/DockWindows/winDbgEvts.crow | 122 +++ CrowIDE/ui/IDE.style | 6 + q | 1198 +++++++++++++++++++++ src/DebugEvents/DebugEvent.cs | 8 + src/GraphicObjects/Wrapper.cs | 4 - src/Interface.cs | 65 +- 11 files changed, 1393 insertions(+), 43 deletions(-) create mode 100644 CrowIDE/ui/DockWindows/winDbgEvts.crow create mode 100644 q diff --git a/CrowIDE/CrowIDE.csproj b/CrowIDE/CrowIDE.csproj index c1c92cde..1a5ccda5 100644 --- a/CrowIDE/CrowIDE.csproj +++ b/CrowIDE/CrowIDE.csproj @@ -298,6 +298,7 @@ + diff --git a/CrowIDE/src/CrowIDE.cs b/CrowIDE/src/CrowIDE.cs index 0332592d..e371379b 100644 --- a/CrowIDE/src/CrowIDE.cs +++ b/CrowIDE/src/CrowIDE.cs @@ -42,7 +42,7 @@ namespace Crow.Coding CMDUndo, CMDRedo, CMDCut, CMDCopy, CMDPaste, CMDHelp, CMDAbout, CMDOptions, CMDViewGTExp, CMDViewProps, CMDViewProj, CMDViewProjProps, CMDViewErrors, CMDViewSolution, CMDViewEditor, CMDViewProperties, - CMDViewToolbox, CMDViewSchema, CMDViewStyling,CMDViewDesign, + CMDViewToolbox, CMDViewSchema, CMDViewStyling,CMDViewDesign,CMDViewDbgEvts, CMDCompile; void initCommands () { @@ -78,6 +78,8 @@ namespace Crow.Coding { Caption = "IML Shematic View", CanExecute = true}; CMDViewStyling = new Command(new Action(() => loadWindow ("#Crow.Coding.ui.DockWindows.winStyleView.crow",this))) { Caption = "Styling Explorer", CanExecute = true}; + CMDViewDbgEvts = new Command(new Action(() => loadWindow ("#Crow.Coding.ui.DockWindows.winDbgEvts.crow",this))) + { Caption = "Debug Events Explorer", CanExecute = true}; CMDViewGTExp = new Command(new Action(() => loadWindow ("#Crow.Coding.ui.DockWindows.winGTExplorer.crow"))) { Caption = "Graphic Tree Explorer", CanExecute = false}; diff --git a/CrowIDE/src/DesignInterface.cs b/CrowIDE/src/DesignInterface.cs index 9ac9e9a5..532d7f3d 100644 --- a/CrowIDE/src/DesignInterface.cs +++ b/CrowIDE/src/DesignInterface.cs @@ -158,13 +158,16 @@ namespace Crow.Coding protected override void processLayouting () { - #if DBG_EVENTS - DbgStartSubEvt(DbgEvtType.IFaceLayouting); - #endif - if (Monitor.TryEnter (LayoutMutex)) { DiscardQueue = new Queue (); LayoutingQueueItem lqi; + #if DBG_EVENTS + bool logLayouting = false; + if (LayoutingQueue.Count > 0){ + DbgStartSubEvt(DbgEvtType.IFaceLayouting); + logLayouting = true; + } + #endif while (LayoutingQueue.Count > 0) { lqi = LayoutingQueue.Dequeue (); #if DBG_EVENTS @@ -175,14 +178,18 @@ namespace Crow.Coding DbgEndSubEvt(); #endif } + #if DBG_EVENTS + if (logLayouting) + DbgEndSubEvt(); + #endif LayoutingQueue = DiscardQueue; Monitor.Exit (LayoutMutex); DiscardQueue = null; } - - #if DBG_EVENTS - DbgEndSubEvt(); - #endif + } + public override string ToString () + { + return string.Format ("DI"); } } } diff --git a/CrowIDE/src/ProjectTree/ImlProjectItem.cs b/CrowIDE/src/ProjectTree/ImlProjectItem.cs index 0575d177..c8d9aade 100644 --- a/CrowIDE/src/ProjectTree/ImlProjectItem.cs +++ b/CrowIDE/src/ProjectTree/ImlProjectItem.cs @@ -81,6 +81,10 @@ namespace Crow.Coding get { return new List (new GraphicObject[] {instance}); } } + public List DebugEvents { + get { return instance?.IFace.PerThreadCurDbgEvt.ToList(); } + } + void GTView_SelectedItemChanged (object sender, SelectionChangeEventArgs e){ SelectedItem = e.NewValue; } diff --git a/CrowIDE/ui/CrowIDE.crow b/CrowIDE/ui/CrowIDE.crow index d721ac36..85f90656 100644 --- a/CrowIDE/ui/CrowIDE.crow +++ b/CrowIDE/ui/CrowIDE.crow @@ -28,6 +28,7 @@ + diff --git a/CrowIDE/ui/DockWindows/winDbgEvts.crow b/CrowIDE/ui/DockWindows/winDbgEvts.crow new file mode 100644 index 00000000..3e8aed2f --- /dev/null +++ b/CrowIDE/ui/DockWindows/winDbgEvts.crow @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CrowIDE/ui/IDE.style b/CrowIDE/ui/IDE.style index 22387808..71ba57fe 100644 --- a/CrowIDE/ui/IDE.style +++ b/CrowIDE/ui/IDE.style @@ -50,3 +50,9 @@ TreeIcon { Width="14"; Height="14"; } + +DbgGridCell { + Background="White"; + Foreground="Black"; + Font="mono, 10"; +} \ No newline at end of file diff --git a/q b/q new file mode 100644 index 00000000..3eb8bd72 --- /dev/null +++ b/q @@ -0,0 +1,1198 @@ +* 0bfa870 (refs/stash) WIP on MeasureWhenDiscarded: 57010b2 Debug Events +|\ +| * 22ed555 index on MeasureWhenDiscarded: 57010b2 Debug Events +|/ +* 57010b2 (HEAD -> MeasureWhenDiscarded) Debug Events +* b6204f7 (origin/MeasureWhenDiscarded) dockwin bug solve +* 570d118 go.UpdateLayout position improvment +* f381a7a add fit first +* b40c72b wip +* b1810f1 (RequestedLayoutings) testing with requestedLayouting field +* c94c0f4 (origin/devel, devel) debug dockwin bug +| * 17b8993 (AllStretchedInFitGroup) lqi explorer wip +| * abf38d1 crowide lqi explorer +| * 87a8c6c go.UpdateLayout position improvment +| * ca044e1 (DbgEvent) add fit first +| * 82258b8 wip +| * dbc6b7e testing with requestedLayouting field +|/ +* 349026b print deleted and discarded>2 lqis +* 81f1c76 root data level +* bd9262e remove docker, floating dockingwin should be added to iface +* d02e2c7 scroller x, ide wip +* b5a4ff3 imledit overlay icon +* 3afeacb slider small increment accuracy +* f24ed33 dragndrop of GObjs +* 5f1d021 limit to html safe color plus several ones, crowIDE wip +* 99d63b9 test with simpler text buffer +* 1c2da8c split ProjectNode classes in separate files +* ce0ae69 code color +* 407690e getStremFromPath made instanced for overriding in designiface, crowide wip +* fd3397c undo/redo, hscrollbar +* 2e540d7 editor abstract base class, svgeditor base +* 844e586 crow ide toolbox, syntax tree depth and generalize node handling accross parser +* 50c1a39 csharp parser wip +* 48057d1 folding closing node draw +* 60c257e folding level +* 882f6d3 debug stack sizing with linq returning neg value +* bb765b7 inflate bounds of splitter for PointIsIn check +* 1c54ec3 Height and Width of GO major change for stacking, docker improvement and simplification +* f560821 tab sizing adjustment +* 2946503 tabview drag and drop of tabitem +* d83f40c tab improvments +* 363b942 first test with docker in CrowIDE +* 697f38b docker debug +* bd603bf center docking +* 6df32af docker wip +* 18df3ae close win in group debug +* 31b423b clear Slot when parent change in go, docker wip +* 27232cf crowIde wip, docker wip, stack remove child debug +* 523d727 CrowIDE wip, removed key repeat already handled by otk +* 5e055f1 update source editor with font height = ascent + descent +* 14b1bb4 label size adjust, modal window, crowIDE wip +* d5cf794 (origin/StyleModif, StyleModif) change styling grammar for value now enclose in double quote +* 8e82014 change style grammar for value, editor parser ok +* 508b53d crowide wip, DesignIDS +* f4c05f6 in design saving of GraphicObject +* fb86652 design mode, crowide wip, style parser (nok) +* af3a87e change namespace of CrowIDE to Crow.Coding, move editor source inside, crowIde wip +* 1293bc8 rename CurrentInterface to IFace +* 915c811 instantiators dictionary no longer static but local to Interface +* 2221764 crowIDE wip, lock layouting for items loading in tg +* b24c3ed add test if run on Mono, throw exception if not +* 351bb39 (origin/master, origin/HEAD, master) prepare 0.7.1 release +* b53838e implement ReaderWritelLockSlim to resolve threading issues +* b184722 add shadow to color selector pointer +* bccbfc1 (tag: 0.7.0) debug +* a57e96c prepare 0.7 release +* d8367a3 (origin/singleLeveledTemplatedGroup, singleLeveledTemplatedGroup) debug threading with new TemplatedGroup arch, review examples. +* 0ce668c docking +* 6e9926f tabview debug, never set focusedIdx to -1, should find another way to known if event have to be routed up to the Opentk app +* 2674a32 update tabview with new mouse is in test +* 25a6995 try to make tg loading multithreaded, thread sync probs +* befe7d8 drag and drop operations +* 0ba19d7 '/' handling to start at current node in BindingMember, test drag and drop +* 5d4fff0 remove no longer usefull registerItemClicked +* 53a4e64 mouse event revamping, fit measure unit change from Pixels to Percent +* 446acf1 add some debug msg, prevent mouse evt on label not selectable +* a374027 first working test with hierarchical TemplatedGroup with only one root Level +| * ca0d93a (origin/switch, switch) switch +|/ +* 3a9f41d crowIDE wip +* f57136b styling, checkbox used in popper +* ab3c362 focusParent +* fbfd6df InstantiatorException with file name +* 3c0818c mouse move debug + load all assemblies in bin dir +* e71e23b code clean +* 6071933 CrowIDE WIP, context commands, tooltips, PointIsIn(ref point), configuration no longer static. +* fab5313 styling is no longer static in iface to allow different styling context between ifaces +* 01cdc32 CrowIDE, ObservableList, include Crow.Coding +* 673466d made SeletedItem of templatedGroup writable +* d783669 Squashed commit devel branch: +* 8678c71 shape widget scrollbar improvments debug:perform mousemove event if mouseup had active widget. +* eb481b4 file dialog improvments, window title colors property in window class +* ef49ffc :book: , renames, move some controls to other project file +* e9c3f48 :book:, default item template loading if none defined for TemplatedGroup +* ea04e4d Update README.md +* 41f95a2 :book:, ItemTemplate files handling with multime root, Content made mandatory in TemplatedContainer +* 3baf8a3 :book: tutorials and some small improvements (iml fragment loading helpers +* f7b7110 xunit basic setup +* c686be8 :book: use own compiled opentk and remove nuget config +* 11e428d cairo mesh pattern, docker tests +* 837aa78 share Picture resource data among widgets +| * d3ffc6c (origin/DockingViewTests, DockingViewTests) debug after rebase +| * ee9971f (DVT) tests in welcome.crow +| * 6fdeed3 shader version 300 => 300 es +| * 711ba64 basic drag&drop functional +| * 0a1a51a Active only focusable widget +| * 785b108 drag&drop in progress, replace BubblingEvents with focusGiven boolean in currentInterface +| * 38f49f7 first try with simple docking view +|/ +* 8faa417 :book: +* e316a00 :memo: +* b68c2eb test appveyor +* 71d2eb3 iface param ctor #38 +| * c292755 (origin/InCodeInstatiation, InCodeInstatiation) - test with both parameterless ctor and with iface param ctor - CurrentInterface as field +|/ +* e3c509d :bulb: :lipstick: :bug: template attribute fetch when no default template exist. +* c6a874e IsDirty bug +| * 45a7a8a (origin/MonoEmbed) replace Debug.WriteLine with console +| * ab20707 first try to load style from current dir in *.style +| * e866cc5 replace debug.write with console.write +| * a313783 mono_cairo_* ICalls for string handling where possible +| * 0327fc7 mono embeded crow +| * f74e80c (MonoEmbed) adapt to embed cairo in mono +|/ +* 56e577d merge +|\ +| * a34e76a border tests +| * c131d2a label: compute correct text cursor when anlign is not left, ColorPicker and num control improvements +| * 3d35a31 slider debug when minimum is not 0 +| * c03d824 add string to primType in binding SetValueByReflexion +| * a83f4cd revert 65cf1452510c336fcd69f9922774389d6c3b1aee, to allow widget creation from code +* | e0afea2 add error message in showcase +|\ \ +| * | 8220ddc (origin/RemovedILayoutable) removed interface ILayoutable and derive Interfrace class from GraphicObject which could be split into a simpler layoutable obj and another one +* | | 3cd590b change scroller value from double to int, drawings has to be keept aligned on pixel +* | | acc6293 Use Dictionary to store color names +* | | 025a522 comments and code clean +| |/ +|/| +* | c7a3277 make currentInterface public, other minor changes +* | 7c43799 full IDisposable implementation (#34) +| | * 8642854 (origin/IDisposableUnstable, IDisposableUnstable) test parent type when trying to close window +| | * 94708b8 prevent canceling thread multiple times causing a deadlock +| | * d05c6de override dispose in popper to handle _content not yet in graphic tree (when never shown), test focusedWidget when disposing +| | * 00b96ae full implementation of IDisposable, not stable, lock and still leaking +| |/ +|/| +* | 6cbe9f9 first step in implementing a dispose mechanism for graphic objects +* | 3025ab7 add corner radius to 3d effect on border +* | 07f2ce0 raise/sunken border +* | bf290bb allow enum value in xml and styling delegates +* | 65cf145 remove Initialise, currentInterface is set by instanciator +| | * dde48ba (origin/TestXCBandSDL, TestXCBandSDL) test texture surface backend with sdl and xcb +| |/ +|/| +* | 5f68cf2 cairo.region to handle clipping, native pointer leaking... +* | 8776ccb dont back cache in byte array +* | 23eba30 Update README.md +* | 9c973b5 Update README.md +* | 7ab3001 appveyor update +* | 3dc87bb debug +* | 6e0a055 embed Mono.Cairo +* | 99eed42 debug +* | 8b10e83 mono.cairo ref instead of cairo-sharp, ScrollingObject +* | cbabc42 Revert "replace foreach loops with for ones" +* | 1c32634 replace foreach loops with for ones +* | 5fa06df update perf measures +| | * 00ec9b2 (origin/TestC) work in progress +| | * 60ab984 workinprogress +| | * 8ed70c6 use internal calls for libcrow +| | * 44e2a77 add MDEmbedTest proj +| | * 84b2304 first render cycle with native c libcrow +| | * 335cbb6 tests with a c library for speed up +| | * 4d1f326 (origin/TestKMS) c native GraphicObject implementation, work in progress +| | | * 26cb42f (origin/TestDRM) debug +| | |/ +| | * 8d385b0 showcase test +| | * f41e8d3 cairo.Region to handle clipping +| | * 958aa6a reorganize tests and remove duplicates sources +| | * df9a7fe evdev Device class, test with keymapping +| | * 0d04969 drm double buffered, but disposing not ok +| | * 2c34b34 debug +| | | * 37570a2 (origin/testDrmDebugTreading) CrowMonitor tread logger +| | |/ +| | * e6482e0 TestApp derived from Crow.Application +| | * 60d85ba restructured classes for Linux platform +| | * 5a2b326 work in progress, security commit +| | * b89022b set new mode ok +| | * 7a41b24 first working Crow interface double buffered on drm +| | * a4be468 first tests with KMS, Mono.Cairo is embeded +| |/ +|/| +* | e72eafb (origin/OpaqueRQ) ensure itemTemplate instantiator has a unique id per path+dataType+data +* | 3437ccf add CrowIDE in progress to master +* | 6e0a061 simple treeView presenting example with source of crow files +* | dd964b6 update nuget package with latest debug +| | * 7995e83 (origin/Themes) tests with themes, bluez controls +| |/ +|/| +* | 34c3219 clear datasource when removing obj from graphic tree +* | 43c0348 complete set invisible with normal layouting +* | fc393c1 check if HoverWidget is removed from graphic tree +* | 4e24757 update README +* | e1553b5 Simplify z ordering of root objects in GraphicTree modifié : src/GraphicObjects/Group.cs modifié : src/GraphicObjects/Window.cs modifié : src/Interface.cs +| | * 45f7415 (origin/RearangeDirs) split graphic objects dir +| |/ +|/| +* | 20ce118 discard RegisterClip in higher levels if parent is dirty and parent cache is enabled +| | * 15b061c (origin/X11Backend) first tests +| |/ +|/| +* | 1f34a1c (tag: v0.5.1) update nuspec to 0.5.1 +* | 5a9ac88 update license headers to MIT +* | e7a3be9 debug instantiator: cancel also 2 sided binding if new ds is null +* | c1f2905 restore lock in Visible prop of GO +* | 3f0e2dc close msgbox on butclick +* | e077cb1 debug ds prop binding remove handler by name, should be retested exhaustively +* | 049aeb8 messageBox improvements +* | 5e84557 name in license +* | 4601a1d removed lock in set_Visible +* | 115cd31 add LICENSE.md +* | f174327 move lastPaintedSlot affectation to end of Paint +* | a249394 rename out of crow perif event handler funcs +* | 8452eb0 Several Lock while debuging for magicCrow, Image Opacity, could be put in GraphicObj +* | 1042bb5 divers debug +* | 456e7c8 TextBox, Label, simpler SVG icon for file sys viewers (improve speed a lot), divers debug and code clean +* | 5ca7116 selection foreground for label +* | e4113eb divers debug, templated group selection, label double click,... +* | f131dc1 give layout mutex priority to properties update and dont block in update loop +* | 9a194ca dispose interface controlers +| | * 41f3ac8 (origin/EmbedCairoSharp) remove Cairo-sharp ref and add cairo-sharp source +| |/ +|/| +* | 593be72 popper separate content positionning +* | f9407ac allow commented line in Style '//' +* | a1afb52 debug wrapper layouting, finalyse FileDialog wrapper usage +* | 3925d9b replace Title in Window class by Caption +* | 117206c handle object origType in emitConvert(origType, dstType) +* | b90acf9 implement IDisposable for InterfaceControler class +* | 31783bb move recurrent 'Caption' property in Templated Control +* | 0704b17 H S V properties in Color +* | 7d9f8d5 make publi Initialize func of GraphicObj, test logical parent in popper to allow shared content, test parent == null on visible changed +* | a4e9dc3 Merge improvements and debug from 'CrowIDE' branch +|\ \ +| * | a2b87ab (origin/CrowIDE) MenuItem Template update, test Project viewer, view commands +| * | e0043f7 crowObjs type search debug, improve type search in ItemTemplate selection +| * | d341658 icon menuitem, PopWidth and PopHeight, commands +| * | 3938a2a hover debug on Visible state changes => trigger mouseMove +| * | 2ffad67 CrowThread;AlwaysOnTop win;GTree explorer; +| * | bfe9d9d Merge branch 'master' into CrowIDE +| |\ \ +| |/ / +|/| | +* | | 1a4fe8b debug +* | | a84e509 debug new dynEvent handler +* | | fb73ce2 new CompileDynEventHandler method with new 'BindingMember' class +* | | 35a7885 remove GLib refs from rsvg-sharp, keep mostly only func used by crow +* | | bf81020 code clean and comments +* | | 3491fb0 binding expression allowing named and unamed target, code clean and comments +* | | 2b9e8c8 code clean and comment +* | | 33d043a debug ColorPicker +* | | 4a7050f Tag as full crow property + comments +* | | cca59d2 debug remove old binding from ds +* | | 41f4b5a move implicit converstion of fill from and to color into Fill class, solid color equality debug +* | | 6872058 'this' keyword in compiled handler +* | | f512287 move unproject into ProjectiveIFaceCtrl, debug +| * | 5c60b29 dataType for expandable itemTemplate use 'isAssignableFrom'; GraphicTree View +| * | 369a13a always on top windows +| * | 425ae6f maximize and minimize for window +| * | eae3646 Merge branch 'master' into CrowIDE +| |\ \ +| | * | 40e30c5 debug +| |/ / +|/| | +* | | e4b3f16 3d interfaces +* | | b741fbb optimize configuration class +* | | aa67990 default config embedded in AppName.default.config (resource) +| * | 1f9b727 add debug msg for DEBUG_LAYOUTING +| * | d7e9527 ProcessMouseMove method copied, work in progress saved for branch switching +| * | de20347 Merge branch 'master' into CrowIDE +| |\ \ +| | | | * ab87f2c (origin/3dinterface) InterfaceControler +| | | | * 7f8361f derive CrowWindow3D from CrowWindow +| | | | * 19408b0 matrices and unproject ok, code organization required +| | | | * 41664de hello3d test +| | | | * 51a188c first test with 3d interface +| | | | * 9a61878 code clean +| |_|_|/ +|/| | | +* | | | b911830 debug dirtyRect +| |/ / +|/| | +| | | * 53916f7 (origin/PBO) pboReady +| | | * 670a6d2 Merge branch 'master' into PBO +| | | |\ +| |_|_|/ +|/| | | +* | | | 40b1600 openGL draw measure +| |/ / +|/| | +| | * c8c5b72 save bmpSize and bmpStride +| | * c116cd0 first working try with 2 PBOs, should be improved +| | * 594d6e1 rearange processDrawing, cancelled ctx creation if clipping.count == 0 +| |/ +|/| +* | e72a570 remove old binding class +* | ec0ae95 debug +* | 67465b7 debug tab view +* | 193e218 menuItem derived from Menu + automatic opening when sibling opens +* | 0a309c9 debug menus +| | * 84e8aed (origin/CairoRegions) use cairo.Region to store clipping rects +| |/ +|/| +* | 88e6f84 new PerformanceMeasure class +* | 78a35f8 * Interface.cs: maxLayoutTries = 3; max discard = 5, test if dirtyRect.width != 0, lqi logging removed because lqi is now a struct +* | 1ba15eb lock layouting when image loading +* | fd46c9e update appveyor.yml +* | 34535da debug OpenTK2.0 ref path +* | da219db lqi as struct instead of class, output in debug layouring tries and discard if > 1 +* | 3d3e97a * Grid.cs, TabView.cs, Wrapper.cs, GenericStack.cs, GraphicObject.cs: IsDirty instead of deleting bmp, resolve blinking bug +* | 96698e1 * Tests.csproj: update to opentk-2.0 +* | 261107d Spinner styling, ColorPicker SelectedRawColor, config conversion debug, color.resetName +* | ca2044c search for private and public handler methods +| | * 2e055ec (origin/FileDialog) file dialog tests +| |/ +|/| +* | 26fc4b0 debug when vc of ds newVal is null +* | 0f1346e New binding system and new inherited measures +|\ \ +| * | 7fa6c6c (origin/NewBinding) code clean and debug +| * | 6f5e0f0 replace Activator.CreateInstance in Instantiator with an Emited NewOjb +| * | e0a9da2 caching of recurent reflexion elements +| * | fa245bf * FileDialog.template: right pane +| * | f98beed (origin/BigListHandling) new binding debug and new inherited sizing method +| | | * cce5f89 (origin/NewBindingInIDE) getNodeAddressFromBindingExp debug in release without limit checking, should be improved +| | | * 16b7173 Normal In Tree Handler Method handling +| | | * 19742f5 * BasicTests.cs, CrowIDE.csproj, 0.crow, DirectoryView.template, testFileDialog.crow: test +| | | * 9d7b7fb debug and finalize fusion IDE/NewBinding +| | | * 0626c9b remove IBindable +| | | * 6ab563d Merge branch 'CrowIDE' into NewBindingInIDE +| | | |\ +| | |/ / +| |/| / +| | |/ +| * | 2b4455e use LogicalParent in binding, debug Parenting and DS changes in several classes +| * | 66fb8b5 cancel for now reverse template binding and code clean and formating +| * | ec4431d remove oldDataSource second way bindings +| * | 9ecf0d3 enable two way binding, reverser binding for datasource +| * | 504c0bc Compile style dynamic events +| * | decb450 Remove old datasource handler if not null +| * | 88ddb3a remove old parent property bindings for templatewq +| * | 20d9e14 New property binding, init emitted in ctx. modifié : src/CompilerServices/CompilerServices.cs modifié : src/IML/Context.cs modifié : src/Instantiator.cs +| * | 15092ce allow one level of binding outside IML current fragment or file +| * | 366e3e0 Add in tree handler at end of parsing just after name resolution Move several static func for emit in CompilerService class modifié : src/CompilerServices/CompilerServices.cs modifié : src/IML/BindingDefinition.cs modifié : src/IML/Context.cs modifié : src/Instantiator.cs +| * | b21a20c replace castclass by IsInst when sure it's not null +| * | 73bea08 Template handler binding, name resolution, IsTemplateBinding property in BindingDefinition class modifié : src/CompilerServices/CompilerServices.cs modifié : src/IML/BindingDefinition.cs modifié : src/IML/Context.cs modifié : src/Instantiator.cs +| * | 971cc1b box valuetype value fetched for init before passing it to convert +| * | 973cde8 binding expression corrections modifié : Templates/ArrowButTemplate.crow modifié : Templates/Button.template modifié : Templates/Spinner.template modifié : Templates/treeList.crow +| * | e93697a Named node resolution, code clean and debug modifié : Crow.csproj modifié : src/IML/BindingDefinition.cs modifié : src/IML/Context.cs modifié : src/Instantiator.cs modifié : src/ItemTemplate.cs +| * | c382841 use class BindingDefinition to store source and target data's modifié : src/IML/BindingDefinition.cs modifié : src/IML/Context.cs modifié : src/Instantiator.cs +| * | 37199aa BindingDefinition class +| * | 1e0999a code clean and debug +| * | 6b47a9b Context.StorePropertyBinding +| * | b961b2e automatic implicit openrator conversion for class +| * | 5cf7c26 improve emitCheckAndConvert modifié : src/GraphicObjects/GraphicObject.cs modifié : src/Instantiator.cs +| * | d7a7930 emitHandlerBinding for oot template +| * | 6bdcdb1 prop less bindings in normal GTobj bindings, generic binding expression splitting function (splitBindingExp) +| * | 0b00506 Code simplification, only 1 cachedDelegates list. modifié : src/IML/Context.cs modifié : src/Instantiator.cs +| * | 0819cdc emit bind datasource handler methods modifié : src/CompilerServices/CompilerServices.cs modifié : src/IML/Context.cs modifié : src/Instantiator.cs +| * | aba894f simplify datasourcechange dynMeth with a helper func in the Instantiator +| * | 28a9515 property less bindings in template handling +| * | bdd6f9a Template binding instantiation, dynamic event handler emition. intermediate save. modifié : src/CompilerServices/CompilerServices.cs modifié : src/IML/Context.cs modifié : src/IML/Node.cs modifié : src/IML/NodeAddress.cs modifié : src/Instantiator.cs +| * | c30725e ParentChanged event in GraphicObject +| * | f416267 debug +| * | f7512fd debug current obj stacking in instantiator +| * | 602da17 graphic tree binding initializer, set actual value of orig to dest at instantiation time +| * | 19fd079 graphic tree bindings valuechanges implementation +| * | 4fb8b3a basic datasource binding functional without inititial set value during dschanged +| * | adbb4fd NodeAddress hashcode +| * | 7308ca2 new instanciator class without IML.Reader, Context class will handle temorary parsing structures +| * | e93ebc7 IML parser wip +| * | 4f00292 IML namespace for Reader +| * | 3b6b63a remove old ResolveBinding call, remove IBindable, DataSourceChanged event +| * | 398b399 work in progress +| * | 000b46b move recurent reflexion to static in CompilerServices modifié : src/CompilerServices/CompilerServices.cs modifié : src/IMLReader.cs +| | | * 8ca3ed8 (origin/NewBindings) DataSource changed event, work in progress modifié : Crow.csproj modifié : Tests/BasicTests.cs nouveau fichier : src/DataSourceEventArgs.cs modifié : src/GraphicObjects/Container.cs modifié : src/GraphicObjects/GraphicObject.cs modifié : src/GraphicObjects/Group.cs modifié : src/Interface.cs +| | |/ +| | * 5b9efbd File dialog derived from Window, not functional modifié : Default.style modifié : Templates/FileDialog.template nouveau fichier : Tests/Interfaces/Unsorted/testFileDialog.crow supprimé : Tests/Interfaces/Unsorted/testFileDialog.goml modifié : Tests/Tests.csproj modifié : src/GraphicObjects/FileDialog.cs divers modifié : src/GraphicObjects/HueSelector.cs modifié : src/LayoutingQueueItem.cs +| | * a5bc69a debug and test 2 way binding, working ok. +| | * 0164835 update cursors on layout changes modifié : src/GraphicObjects/HueSelector.cs modifié : src/GraphicObjects/SaturationValueSelector.cs +| | * 169f569 debug modifié : Templates/ColorPicker.template modifié : Tests/Interfaces/Divers/colorPicker.crow copié : src/GraphicObjects/ColorSelector.cs -> src/GraphicObjects/ColorPicker.cs modifié : src/GraphicObjects/ColorSelector.cs modifié : src/GraphicObjects/HueSelector.cs modifié : src/GraphicObjects/SaturationValueSelector.cs modifié : src/Colors.cs +| | * 63e6582 first test with color in property tab from CrowIDE modifié : CrowIDE/ui/imlEditor.crow modifié : Templates/ColorPicker.template modifié : Tests/Interfaces/Divers/colorPicker.crow modifié : src/GraphicObjects/ColorPicker.cs modifié : src/GraphicObjects/ColorSelector.cs +| | * d4b3beb Hex color value modifié : Templates/ColorPicker.template modifié : src/GraphicObjects/ColorSelector.cs +| | * 9708d4f code clean and debug modifié : src/GraphicObjects/ColorSelector.cs modifié : src/GraphicObjects/SaturationValueSelector.cs +| | * 100a4ff HSV to and from RGBA modifié : Default.style modifié : Templates/ColorPicker.template modifié : src/GraphicObjects/ColorSelector.cs modifié : src/GraphicObjects/SaturationValueSelector.cs +| | * 8c71296 Hue selector and Saturation/value selector modifié : Crow.csproj modifié : Templates/ColorPicker.template modifié : src/GraphicObjects/ColorSelector.cs nouveau fichier : src/GraphicObjects/HueSelector.cs nouveau fichier : src/GraphicObjects/SaturationValueSelector.cs +| | * 0cfc0f9 Basic color picker widget modifié : Crow.csproj modifié : CrowIDE/CrowIDE.csproj nouveau fichier : CrowIDE/Default.style modifié : Default.style nouveau fichier : Templates/ColorPicker.template nouveau fichier : Tests/Interfaces/Divers/colorPicker.crow nouveau fichier : src/GraphicObjects/ColorPicker.cs nouveau fichier : src/GraphicObjects/ColorSelector.cs modifié : Tests/Tests.csproj modifié : src/CompilerServices/CompilerServices.cs modifié : src/SolidColor.cs simplify Alignment modifié : src/Enums.cs prevent null background fill modifié : src/GraphicObjects/GraphicObject.cs +| | * 9c20917 Different temp items in Obj property tab depending on property type modifié : CrowIDE/CrowIDE.csproj modifié : CrowIDE/src/MembersView.cs modifié : CrowIDE/ui/imlEditor.crow +| | * bf4348e add DataTest property to TemplatedGroup for testing data members in addition to data type +| | * d49bc44 dont try to find covertion methode to object in emitted MSIL +| | * 6006dad add RegisterLayouting for position when vert or horiz align changed +| | * ad18d88 Merge branch 'master' into CrowIDE +| | |\ +| |_|/ +|/| | +* | | 7c00385 Assebly signature modifié : Crow.csproj modifié : Crow.sln modifié : Properties/AssemblyInfo.cs nouveau fichier : crow.key modifié : src/Colors.cs modifié : src/GraphicObjects/Popper.cs +* | | faad767 (tag: v0.5) Inherited dims (#31) +|/ / +| * ecc2ebe test already registeredLayouting at the beginning of RegisterForLayouting +| * d78c818 simplified SizePolicy check modifié : src/GraphicObjects/GraphicObject.cs modifié : src/Measure.cs +| * acf5f60 + visibility does not work, removed +| * e3e522d rebase master +| * d739f2d rename Root to CurrentDirectory, et CurrentDirectory to FileSystemEntries modifié : CrowIDE/ui/imlEditor.crow modifié : Templates/DirectoryView.template modifié : Tests/Interfaces/Divers/0.crow modifié : src/GraphicObjects/DirectoryView.cs thiner menu modifié : Templates/Menu.template modifié : Templates/MenuItem.template +| * 4fd5c81 adapt when DEBUG_LAYOUTING not set +| * d84f96e Move Debug LQIs lists to CurrentInterface LQIs visualizer ItemTemplate expandable may use 'self' keywork modifié : CrowIDE/CrowIDE.csproj modifié : CrowIDE/src/CrowIDE.cs nouveau fichier : CrowIDE/src/Extensions.cs modifié : CrowIDE/src/ImlVisualEditor.cs nouveau fichier : CrowIDE/ui/LQIsExplorer.crow nouveau fichier : CrowIDE/ui/bindingExpITemp.crow nouveau fichier : CrowIDE/ui/bindingExplorer.crow modifié : Templates/DirectoryView.template modifié : Templates/Window.template modifié : src/GraphicObjects/GraphicObject.cs modifié : src/GraphicObjects/Wrapper.cs modifié : src/Interface.cs modifié : src/ItemTemplate.cs modifié : src/LayoutingQueueItem.cs +| * 94dad03 search extension methods for expand delegate move recurent MemberInfo to global static. modifié : src/CompilerServices/CompilerServices.cs modifié : src/IMLReader.cs modifié : src/ItemTemplate.cs +| * f342ff6 adapt child layout register on group size change depending on units of child measure, change visible state change logic in go +| * e01022e * CrowIDE.csproj, imlEditor.crow, MembersView.cs, ImlVisualEditor.cs, MembersView.template: MembersView +| * 67e61bd arrows +| * af0b84f prevent expand delegate in Trees to refetch datas if data is already set +| * 881b57d iml source handling, mouse hover in imlVE +| * ce9cf26 * Crow.sln, test.crow, CrowIDE.csproj, CrowIDE.cs, imlEditor.crow, TreeView.cs, DirectoryView.cs: basic IML loading into imlVE interface +| * d735142 CrowIDE project creation +| | * 3f7fcdd (origin/InheritedDims) update nuspec +| | * 1e3451d leave template bindings for sizing in ScrollBar template because Inherited values are not working. modifié : Templates/ScrollBar.template renommé : Tests/Interfaces/TemplatedControl/testScrollbar.goml -> Tests/Interfaces/TemplatedControl/testScrollbar.crow renommé : Tests/Interfaces/TemplatedControl/testSpinner.goml -> Tests/Interfaces/TemplatedControl/testSpinner.crow modifié : Tests/Tests.csproj +| | * e6a65b9 Implement 'Inherit' measure to reduce bindings load. +| |/ +|/| +* | 2616e6e Merge improvements from CrowIDE modifié : Templates/DirectoryView.template modifié : Templates/Menu.template modifié : Templates/MenuItem.template modifié : Templates/Window.template modifié : Tests/Interfaces/Divers/0.crow modifié : src/CompilerServices/CompilerServices.cs modifié : src/ExtensionsMethods.cs modifié : src/GraphicObjects/DirectoryView.cs modifié : src/GraphicObjects/GraphicObject.cs modifié : src/GraphicObjects/Group.cs modifié : src/GraphicObjects/TreeView.cs modifié : src/GraphicObjects/Wrapper.cs modifié : src/IMLReader.cs modifié : src/Interface.cs modifié : src/ItemTemplate.cs modifié : src/LayoutingQueueItem.cs modifié : src/Measure.cs modifié : src/Point.cs +* | b7786bb appveyor test +* | fb06bfa appveyor test +* | 80477e8 Move recurent Reflexion items to static in CompilerServices modifié : src/CompilerServices/CompilerServices.cs +* | 348f7e0 Merge pull request #30 from jpbruyere/TreeViewItemAsTemplatedGroup +|\ \ +| * | 801c274 (origin/TreeViewItemAsTemplatedGroup) remove selected item handling (moved into TemplatedGroup) modifié : src/GraphicObjects/TreeView.cs renames modifié : src/ItemTemplate.cs +| * | 4a9a785 Derive ListBox from TemplatedGroup Move Data List handling and selection in TemplatedGroup modifié : Templates/ComboBox.template modifié : Templates/ListBox.template modifié : Templates/ScrollingListBox.goml modifié : Templates/TreeView.template modifié : Templates/treeList.crow modifié : Tests/BasicTests.cs modifié : Tests/Interfaces/TemplatedContainer/testTreeView.crow modifié : Tests/Interfaces/TemplatedControl/testItemTemplateTag.crow modifié : src/GraphicObjects/ListBox.cs modifié : src/GraphicObjects/MenuItem.cs modifié : src/GraphicObjects/TemplatedControl.cs modifié : src/GraphicObjects/TemplatedGroup.cs modifié : src/GraphicObjects/TreeView.cs modifié : src/IMLReader.cs modifié : src/ItemTemplate.cs +|/ / +* | 6c2ecec update appveyor +|/ +* 4b97ce3 Merge pull request #29 from jpbruyere/TemplatedGroup +|\ +| * 1a08acb update tests +| * ceb0842 debug splitter for stretched item (min max size check) +| * cc70493 proportional size spliter. +| * 8d1e0c9 debug mouse leave, move recursive test back into interface instead of go.MouseLeave Menu IsOpen handling MenuItem Open and Close events +| * e68f66a debug mouse focus +| * 8e0a800 rename propless bind Orientation=>PopDirection in menu, update examples +| * e270b18 set sender of mouse leave to widget loosing mouse +| * ac42593 some TODO: +| * 2f6ce15 MenuItem execute +| * a1e2e7d Command class creation +| * 417c710 Can't pop is no submenu on node modifié : Templates/MenuItem.template modifié : src/GraphicObjects/MenuItem.cs add CanPop property modifié : src/GraphicObjects/Popper.cs add 'HasChildren' propertyless binding modifié : src/GraphicObjects/TemplatedGroup.cs +| * befffb6 Menu and MenuItem classes, templates, styles and tests modifié : Crow.csproj modifié : Default.style modifié : Style.cs nouveau fichier : Templates/Menu.template nouveau fichier : Templates/MenuItem.template modifié : Tests/Interfaces/TemplatedGroup/0.crow nouveau fichier : Tests/Interfaces/TemplatedGroup/1.crow nouveau fichier : Tests/Interfaces/TemplatedGroup/2.crow modifié : Tests/Tests.csproj nouveau fichier : src/GraphicObjects/Menu.cs nouveau fichier : src/GraphicObjects/MenuItem.cs modifié : src/GraphicObjects/TemplatedGroup.cs +| * 9c3fd3b resolve bug popper content childs not arranged if top container is Stack +| * 5fc76c5 tests reorganization modifié : Crow.csproj modifié : Tests/BasicTests.cs renommé : Tests/Interfaces/Expandable/0.crow -> Tests/Interfaces/TemplatedContainer/0.crow renommé : Tests/Interfaces/Expandable/6.crow -> Tests/Interfaces/TemplatedContainer/6.crow renommé : Tests/Interfaces/Expandable/7.crow -> Tests/Interfaces/TemplatedContainer/7.crow renommé : Tests/Interfaces/Divers/testDirViewer2.crow -> Tests/Interfaces/TemplatedContainer/testDirViewer2.crow renommé : Tests/Interfaces/Divers/testGroupBox.crow -> Tests/Interfaces/TemplatedContainer/testGroupBox.crow renommé : Tests/Interfaces/Divers/testMsgBox.crow -> Tests/Interfaces/TemplatedContainer/testMsgBox.crow renommé : Tests/Interfaces/Divers/testPopper.crow -> Tests/Interfaces/TemplatedContainer/testPopper.crow renommé : Tests/Interfaces/Divers/testTabView.crow -> Tests/Interfaces/TemplatedContainer/testTabView.crow renommé : Tests/Interfaces/Divers/testTreeView.crow -> Tests/Interfaces/TemplatedContainer/testTreeView.crow renommé : Tests/Interfaces/Divers/testWindow.goml -> Tests/Interfaces/TemplatedContainer/testWindow.goml renommé : Tests/Interfaces/Divers/testWindow2.goml -> Tests/Interfaces/TemplatedContainer/testWindow2.goml renommé : Tests/Interfaces/Divers/testWindow3.goml -> Tests/Interfaces/TemplatedContainer/testWindow3.goml renommé : Tests/Interfaces/Divers/test_Listbox.crow -> Tests/Interfaces/TemplatedContainer/test_Listbox.crow renommé : Tests/Interfaces/Divers/testButton.crow -> Tests/Interfaces/TemplatedControl/testButton.crow renommé : Tests/Interfaces/Divers/testCheckbox.crow -> Tests/Interfaces/TemplatedControl/testCheckbox.crow renommé : Tests/Interfaces/Divers/testCombobox.crow -> Tests/Interfaces/TemplatedControl/testCombobox.crow renommé : Tests/Interfaces/Divers/testItemTemplateTag.crow -> Tests/Interfaces/TemplatedControl/testItemTemplateTag.crow renommé : Tests/Interfaces/Divers/testRadioButton.crow -> Tests/Interfaces/TemplatedControl/testRadioButton.crow renommé : Tests/Interfaces/Divers/testScrollbar.goml -> Tests/Interfaces/TemplatedControl/testScrollbar.goml renommé : Tests/Interfaces/Divers/testSpinner.goml -> Tests/Interfaces/TemplatedControl/testSpinner.goml modifié : Tests/Tests.csproj modifié : src/GraphicObjects/Expandable.cs modifié : src/GraphicObjects/Group.cs +|/ +* d4bc4a1 (tag: v0.4) update Crow.dll.config +* 5922acf move Style.cs in src/ +* 60c9f5b update tests, test disable control modifié : Tests/Interfaces/Divers/0.crow copié : Tests/Interfaces/Divers/4.crow -> Tests/Interfaces/Divers/3.crow modifié : Tests/Interfaces/Divers/4.crow nouveau fichier : Tests/Interfaces/Divers/testDisable.crow modifié : Tests/Tests.csproj modifié : Tests/test.style code clean and comments modifié : Tests/OpenTKGameWindow.cs modifié : src/GraphicObjects/TemplatedControl.cs +* 86c4221 isDisabled handling +* 001c18b update readme +* 71349cb clean test files +* 8c7cd40 Correct bug 'Instanciing from code instead of IML' set currentInterface to default one if null modifié : Crow.OpenTK.nuspec modifié : src/CompilerServices/CompilerServices.cs modifié : src/GraphicObjects/Container.cs modifié : src/GraphicObjects/GraphicObject.cs modifié : src/GraphicObjects/PrivateContainer.cs modifié : src/GraphicObjects/TemplatedControl.cs modifié : src/Interface.cs +* ea5ba40 Merge pull request #19 from jpbruyere/TemplatesPathes +|\ +| * 6c5120d CurrentInterface in GraphicObject base +| * 721fa8d adjusting stroke position to have sharper lines, ClipToClientRect property +| * 9d0137b * Crow.csproj, XCursor.cs, Interface.cs, ibeam: text xcursor +| * 854f2f7 * 0.crow, 1.crow, 2.crow, 5.crow, 7.crow: tests +| * 4f1128a modularize +| * 7cbef57 double click +| * 1af00c6 wrapper debug and test +| * 8079451 allow wrapper to fit in the opposite direction of the orientation +| * 34a5dc3 wrapper widget +| * 86acbb4 default template searched in embedded resources with .template extension +|/ +* ed815a3 * Default.style, Instantiator.cs, MessageBox.goml, ScrollBar.cs, GenericStack.cs, GraphicObject.cs: debug, codeclean, slot height and width test in Paint to prevent surface creation hang +* 80ceca9 * Crow.csproj, Default.style, button.svg, buttest.svg, buttest2.svg, buttest4.svg, 0.crow: test and divers +* 2b62c4b modifié : README.md +* 81eb8c7 Merge pull request #18 from jpbruyere/BindingImprovement +|\ +| * 7560c0b (origin/BindingImprovement) resolved bug multiple template level read, ensure reader stay on sybling nodes modifié : src/IMLReader.cs create instance from XmlFragment modifié : src/Instantiator.cs update tests modifié : Tests/BasicTests.cs modifié : Tests/Interfaces/Divers/imlEditor.crow +| * 13b1a97 TreeView expand delegate creation in IMLReader +| * 83d939a * IMLReader.cs, MessageBox.goml: debug +| * 1b2e279 ItemTemplate instantiator, basic listbox ok +| |\ +| | * 69c4702 ItemTemplate test, major changes in Instantiator implementation bugs modifié : Crow.csproj modifié : Default.style modifié : Tests/BasicTests.cs modifié : Tests/Interfaces/Divers/welcome.crow modifié : Tests/Interfaces/basicTests/0.crow modifié : Tests/Interfaces/basicTests/4.crow modifié : src/GraphicObjects/ListBox.cs modifié : src/GraphicObjects/ProgressBar.cs modifié : src/GraphicObjects/TemplatedControl.cs modifié : src/IMLReader.cs modifié : src/Instantiator.cs modifié : src/Interface.cs renommé : src/IMLStream.cs -> src/ItemTemplate.cs +| | * 799fec8 move MSIL generator from IML into IMLReader. modifié : src/CompilerServices/CompilerServices.cs rename : src/IMLInstantiatorBuilder.cs => src/IMLReader.cs modifié : src/Interface.cs +| * | 5a03df5 move MSIL generator from IML into IMLReader. modifié : src/CompilerServices/CompilerServices.cs rename : src/IMLInstantiatorBuilder.cs => src/IMLReader.cs modifié : src/Interface.cs modifié : Crow.csproj +| |/ +| * 19b2404 Instatiator: use loadTemplate instead of SetChild for adding child in TemplatedControl modifié : src/CompilerServices/CompilerServices.cs +| * 09069c1 binding emiting in Instanciator modifié : src/CompilerServices/CompilerServices.cs remove CurrentInterface property for now from GraphicObject, some parentings are failing modifié : src/GraphicObjects/GraphicObject.cs +| * 04c3deb instanciator +| |\ +|/ / +| * 91a40c7 revert test modifié : Templates/CheckBox.goml simply cancel binding for now modifié : src/CompilerServices/CompilerServices.cs +| * cc4c62a IMLInstantiator implementation +|/ +* 4d4a911 divers +* 3ba387d add missing files in previous commit +* d45cf90 * Label.cs: no cursor drawn if not selectable +* ffed25a better git validation layout +* c45ce80 * Crow.csproj: * Label.cs: update +* f42cabd debug and update nuspec +* beba812 Merge pull request #15 from jpbruyere/TemplateImprovments +|\ +| * b9e90a3 TreeView template access with './', update all templates binding path begining with '/' starts at current level +| * e9963ab * ListBox.cs: * TemplatedControl.cs: set ItemTemplate as public +| * 47dad62 First MSIL expand in TreeView with ItemTemplate, need to share ItemTemplates. +| * 4ca12da ItemTemplate class derived from IMLStream. replace xmlLoadingCount by xmlLoading. modifié : src/GraphicObjects/ListBox.cs modifié : src/GraphicObjects/TemplatedControl.cs modifié : src/IMLStream.cs modifié : src/Interface.cs +| * 351960c DEBUG_LAYOUTING:save every LQI in GraphicObjects for further analysis modifié : src/GraphicObjects/GraphicObject.cs modifié : src/LayoutingQueueItem.cs +| * 981c6d0 Update README.md +| * 808e85b update readme +| * 5fd89ce try travis trusty, for easy cil lib binding +| * c91808e update travis config +| * b58c6b3 Layouting DiscardQueue with MaxDiscardCount modifié : src/Interface.cs modifié : src/LayoutingQueueItem.cs +| * e2d351c Set regLayout.ALL to new object to prevent queuing in layout or drawing, set to regLayout.None just before adding parent LayoutingTries moved into LQI +| * 3a01c45 * Tests.csproj: * BasicTests.cs: * TreeView.crow: * welcome.crow: * test4.crow: * testWindow2.goml: * testTreeView.crow: * testDirViewer.crow: update tests +| * b24819f ItemTemplate xml element implementation nouveau fichier : Tests/Interfaces/Unsorted/testItemTemplateTag.crow modifié : Tests/Tests.csproj modifié : src/GraphicObjects/ListBox.cs modifié : src/GraphicObjects/TemplatedControl.cs modifié : src/IMLStream.cs +| * 5e7f9ad IMLStream +| * 67e7fb1 debug.print only when debugging binding +| * 28fcfe4 remove GtkSharp dep that comes with mono, add .config to point to correct lib files depending on os modifié : Crow.OpenTK.nuspec modifié : Crow.csproj nouveau fichier : Crow.dll.config modifié : Tests/Tests.csproj +| * ad004bc update tests +| * c601f87 remove image property, set img as fixed in template modifié : Templates/CheckBox.goml modifié : Templates/RadioButton.goml modifié : src/GraphicObjects/CheckBox.cs debug modifié : Templates/MessageBox.goml Deep clone modifié : src/GraphicObjects/GraphicObject.cs modifié : src/GraphicObjects/Group.cs Deep clone and code clean modifié : src/GraphicObjects/PrivateContainer.cs modifié : src/GraphicObjects/RadioButton.cs +| * 51e7ed1 debug sync threading +| | * 3e37c87 (origin/gh-pages) remove building info +| | * 326cb1f update screenshot +| | * d2205cf update screeshot +| | * c62ab99 add paypal +| | * c1222a7 update index.html +| | * e7f75d8 update index.html +| | * 9f94d02 update index.html +| | * 7a68311 update index.html +| | * cb0c05d update index.html +| | * 46a68a4 update index.html +| | * 3dce291 update index.html +| | * a1e9bbc chess screenshot +| | * d356ea9 update index.html +| | * b0866e0 update index.html +| | * 4c95b20 update index.html +| | * 97e6ff7 Update index.html +| | * 84a5393 Add files via upload +| | * acbb4b0 Update index.html +| | * 61512e7 Update index.html +| | * 8ec0b07 Add files via upload +| | * 5cacebf Create gh-pages branch via GitHub +| | * a5e7545 (origin/deepCloneListItem) make deep clone for items in list +| |/ +| * b045239 treaded listbox +| * 64ae55a no constraint for child positionning in container, because if Fit but size = minSize, child has to be positionned. +|/ +* da0cd66 debug combo: ';' instead of ',' +* 7da9c43 test stacking orientation for contentSize of stack adjustments +* 7aa1b26 Merge pull request #13 from jpbruyere/UpdateQueuingReview +|\ +| | * ea026dc (origin/UpdateQueuingReview) test stacking orientation for contentSize of stack adjustments +| | * 83e119d debug ; in maxpopup size of Combo +| |/ +| * 77f7028 Debug contentSize for Stack when stack sizing policy changed. modifié : src/GraphicObjects/GraphicObject.cs queue drawing without layouting when not required modifié : src/GraphicObjects/Label.cs +| * 64cd250 Show xml file path for exceptions during loading. modifié : src/Interface.cs +| * da1e73a Qyery position layouting in all not stretched conditions +| * 4662577 Dont use Fit property, it override Width and Height styling for more specific styleKey. modifié : Default.style +| * db2c28d use RegisterForRedraw when applicable +| * ab038cf just query repaint for visible state +| * 7d84ba2 Improve update queuing modifié : src/GraphicObjects/GenericStack.cs modifié : src/GraphicObjects/GraphicObject.cs modifié : src/GraphicObjects/Group.cs modifié : src/GraphicObjects/Label.cs modifié : src/GraphicObjects/ListBox.cs modifié : src/GraphicObjects/TabView.cs modifié : src/Interface.cs modifié : src/StyleReader.cs +|/ +* fd5b776 add fixed width and height to default win style. modifié : Default.style +* e7e29bd style key +* 9a8f162 Merge branch 'StylingImprovments' +|\ +| * 58ca25a update basic tests +| * a508dab Style attribute in xml, add default value loader style key. modifié : src/GraphicObjects/GraphicObject.cs modifié : src/Interface.cs +| * 9804d49 create Default.style, remove Styles directory +| * dfe1b84 change style values from string to object to be able to store dynMehods modifié : src/CompilerServices/CompilerServices.cs modifié : src/GraphicObjects/GraphicObject.cs modifié : src/Interface.cs modifié : src/StyleReader.cs +| * 4e84cb7 removed old applyStyle modifié : src/GraphicObjects/GraphicObject.cs +| * d690d2f cumulative styling +| * be8a4c2 basic styling ok, need handler and expression now. +| * 6c6fb76 replace ';' separator between members by ',' and set '.' as decimal mark in files +| * dca4d91 remove style attributes, add ';' to style files line ending, new style parser +| * e4e8fa3 remove os test for config path building, resolve windows bug +* | 5236bd6 add custom execute command, because and are not resolved in default execute process +* | 9548510 Merge pull request #11 from jpbruyere/appveyor +|\ \ +| * | 73f72e1 appveyor tests +| * | fd57196 appveyor tests +| * | 20a592a appveyor tests +| * | 7ea64db appveyor tests +| * | 3a4c678 appveyor tests +| * | 03cbc19 list dir struct +* | | c62546b Merge pull request #9 from jpbruyere/appveyor +|\ \ \ +| |/ / +| * | cf1d656 use GtkSharp 3.1 +| * | 5a8e6e1 appveyor test +| * | f0149a2 appveyor test +| * | 72efafb appveyor test +| * | 4e2eb66 appveyor test +| * | 24940a9 appveyor test +| * | 0fdc707 appveyor test +| * | f81e37e appveyor test +| * | 0b8f2e5 appveyor test +| * | 6a20f96 appveyor test +| * | c8b6ae2 appveyor test +| * | c95eda5 appveyor test +| * | 2bfd434 appveyor test +| * | 2d4c607 appveyor test, removed c#6 feature +| * | 98832e8 appveyor test +| * | 9f11cab appveyor test +| * | 4096fd5 appveyor test +| * | 7ac0368 appveyor test +| * | 90eb2dd appveyor test +| * | 9104758 appveyor test +| * | 7c3ed89 appveyor test +| * | 29fec1c appveyor test +| * | e5f21ad appveyor test +| * | 1dc3747 appveyor test +| * | 3250245 appveyor test +| * | 302482d appveyor test +| * | 4e1a120 appveyor test +| * | 4d437df appveyor test +| * | f46c52c appveyor test +| * | 389c727 appveyor test +| * | f53058a appveyor test +| * | 6b1457d appveyor test +| * | a10888d appveyor test +| * | 6c70795 appveyor test +| * | 690ef39 appveyor test +| * | 695aa05 appveyor test +| * | fc72782 appveyor test +| * | 76e801f appveyor test +| * | ec3382c appveyor test +| * | a273dcc test appveyor with Mono targetFramework in csproj +| * | 9b20551 test appveyor with Mono targetFramework in csproj +| * | 4febe6f test appveyor with Mono targetFramework in csproj +| * | bf74130 test appveyor with Mono targetFramework in csproj +| * | b009c99 test appveyor with Mono targetFramework in csproj +| * | 2b52dd2 test appveyor with Mono targetFramework in csproj +| * | 3114f9a test appveyor with Mono targetFramework in csproj +| * | ffb197b test appveyor with Mono targetFramework in csproj +| * | b5c354a test appveyor with Mono targetFramework in csproj +| * | 0fb16a3 test appveyor with Mono targetFramework in csproj +| * | 9c7f1c0 test appveyor with Mono targetFramework in csproj +| * | b691aed test appveyor with Mono targetFramework in csproj +* | | 55824e2 remove test tm dir +|/ / +* | 555b417 test mono appveyor +* | bf43d3d Update README.md +* | c00dfcb Update README.md +* | e57d095 update appveyor config +* | e1179a7 update appveyor config +* | 3ba4aeb update appveyor config +* | 6adf968 update appveyor config +* | 695824d add appveyor config +* | 8b2d77f Update README.md +* | 572eb59 Removed Utf16->Utf8 conversion on Win os, so Mono framework, which use Utf8 for string encoding on every os becomes mandatory. modified: src/GraphicObjects/Label.cs modified: src/GraphicObjects/TextRun.cs +|/ +* 216fa16 implement Crow.LoadFromStream and filenotfound catch modifié : Tests/OpenGL/Texture.cs +* 7164e3f tutorial examples +* 9020578 Update README.md +* 26034bf update readme +* c74c7f8 override last shadowed commit +* 38dc6c0 Update README.md +* cf21235 improve splitter mouse move +* 61f1561 debug mouse hangling and focus +* d98ba07 update nuspec +* 9023717 Update README.md +* a6f65aa nuget config ok with otkcrow as file copy instead of dll +* 4935de9 update csproj +* 140b573 put OpenTKCrowWin in game win +* 9a001ca clean up master +* a312cd6 Update README.md +* 6d661b8 proj files cleanup, nuget config +* 40f2225 Merge branch 'devel' +|\ +| * 42068f4 use opentk.next +* | 2295c61 Merge pull request #8 from jpbruyere/devel +|\ \ +| * | fc108e3 Update README.md +| * | cadb435 Update README.md +| * | 61ce5f2 update readme +| * | f78e02c update readme +| * | 478a6c4 update readme +| * | e385c95 nuget search path problems +| |/ +| * dd280d3 nuget search path problems +| * a8e2778 nuget search path problems +| * e35b524 add nuget.targets and rename NuGet config +| * ecca638 set custom build command to use xbuild to travis +| * d07aa23 nuget config files +| * be589d1 set solution level packages for nuget +| * d742b14 nuget restore test +| * 496e19c add travis.yml +| * b24beec lots of unordered changes, I commited all in a devel branch, which will be the programming branch +|/ +* 7621613 clean csproj files +* 2145412 swap source and target mnemonic, I will use origin/destination for binding direction, here it's only where it is defined that is named source, and target is where a reference could need to be resolved +* 10fd075 global FontRenderingOptions for cairo +* 2b4574f rename GraphicObjects to GraphicTree +* aed3905 Merge pull request #7 from jpbruyere/dynSizing +|\ +| * 4e3802b SDL work in progress +| * 5dc86e5 divers +| * ea79505 split CompilerServices objects in separate files, uid for GO even while not debugging +| * c02ea44 debug bindings when new value is null +| * 63cb467 debug combobox +| * b92a60c code clean +| * 02ac817 glfw backend, group measure on change only +| * 8771dcc stack +| * 2361b6f Group basic sizing ok +| * ea355fe update test before changes +|/ +* b3c2c1f DEBIG_FOCUS; min size returned for base GraphObj when in Fit mode +| * 68056c4 (origin/testglbackend2) copy old glbackend files, no changes made for now, not working +|/ +* 8876958 adjust spinner properties, compute proportion in Double precision +* e993815 code clean +* bce6b29 code clean +* 9fc6231 add some events to Button and IsPressed var +* 8f841bd use int.MinValue as error mark while measuring object to requeue Layouting +* e999316 tab Thickness as Measure not int +* bbe51d8 several fix, proportional Spinner +* a01e514 Merge pull request #6 from jpbruyere/ProportionalUI +|\ +| * 7c5032b update packages +| * 62b0079 update tests +| * 7ff5f14 proportional ui +| * 0b005fe remove Bounds rectangle as private field for dims +| * b7bd819 Combo pages debug +| * 0490aef code clean +|/ +* 45fb721 Merge remote-tracking branch 'origin/ottd' +|\ +| * ef53a23 control insert in textBox +| * b1df727 add float conversion to compiler service +| * 76fe2b4 add textbox text facilities and clipboard +| * 4621432 add IBindable interface to base GraphicObject +| * e2915c3 allow loading custom widgets +| * a215115 several changes to merge later +* | 7d8177d code clean +* | 075f279 some border detection improvments +|/ +* 22644af Merge branch 'master' of https://github.com/jpbruyere/Crow +|\ +* | e506909 Configuration class +| | * 8d7b17f (origin/monodevelop) try update monodevelop addin, workin progress +| |/ +| * 356bfaa Merge pull request #5 from jpbruyere/TwoWayBindings +| |\ +|/ / +| * c85cd50 add Crow ref to OTKCrow +| * 0f8f59d add tab in TextBox +| * 7d1c6c5 use nuget for Cairo +| * 18b2b07 tab key +| * 7d84e81 keypress event +| * 97e0683 keyboard event handling +| * e216538 refactor bindings to allow 2 way bindings +|/ +* 6b0d7e5 try catch in Popper mouse leave, prevent exception when _content not sized +* d27fabf remove IGOLibHost.cs +* cb66e67 set CurrentInterface in CTOR of Interface +* 48c126d fire Scrolled event in Scroller +* ef7100e correct popper mouse leave bug +* e5bb6ea search entry assembly for new crow widgets +* 09e26d9 test datasource null in bindings +* 5049274 add OTK mouse event if not in interface; add CTOR for graphic modes +* 226be12 ensure bindings are resolved as soon as chil is added +* cda826f remove IGOLibHost +* a4ba478 combo popup sizing, binding creation in code +* 2b314f4 test recursive expandable +* cb358be don't test visibility of children in OnLayoutChange => solve recursive expanders bug +* 03aa114 update ignore list +* 0ed518f update tests +* bf1c545 divers +* f6418d2 non blocking update mutex, removed delegates, test parent==null in clip registration +* a14493c Merge pull request #4 from jpbruyere/MultithreadedInterface +|\ +| * ed16031 divers +| * 63e3afd remove double buffered LayoutingQueue,use dirtyBmp for gl rendering +| * 3d9e221 split update registration and user +| * b7e8ad3 split Update steps +| * b4e4815 lock RenderMutex when loading, test lqi==null, list loading slowed down +| * 2ad97c8 add fps +| * 5e84ed9 lock Interface when update +| * c5d7f03 first tests with Interface update in a separate thread +| * a4e0b9b remove unecessary GOs array copy and reverse +| * f2b0b19 update mouse cursor for OTK container +| * 10c06ae debug after rebase +| * b541408 check content==null when Unpop +| * d9ec7ae update OpenTKGameWin with shared CrowInterface +| * a25ff30 CrowInterface object holding common functions, IGOLibHost removed +| * 70bcdc7 GtkCrowContainer test, functionnal, keyboard issue +| * 328c6d4 free Crow base from OpenTK +| * 2cb0e75 update MouseState buttons +| * fa6dd3d base changed done, need mouse state to be updated +|/ +* c7a9d36 update MessageBox template +* 171d5ac update tests +* d43fa6d window style +* 4c068ba debug xmlloadingcount +* bfcc358 ensure template are loaded when created in code +* f227139 code clean +* 35b5017 debug bindings, clear only necessary bindings depending on source Instance changes +* 4907f0a ensure Selection change is notified when data changed in listbox +* c16be86 inverse Source and Target usage, deleteEventHandler +* bda85a5 MessageBox styling and events +* deece77 combo debug +* 843d129 Merge branch 'master' of https://github.com/jpbruyere/Crow +|\ +| * dc2ac1f message box events ok cancel +* | cb1d5e6 combo minimum size +|/ +* 1d5a243 debug combobox +* 83ed339 clean +* 63de922 reset resolved state of binding when cleared +* ba2b71d query layouting when image path change +* b855b28 resolveBinding when datasource change event if dataSource is null +* 04fa15e test selectedIndex<0 in listbox +* 4320d25 xmlignore LayoutingTries +* a4550b2 debug paged listbox +* 79282c0 DataSource as full crow property with notify +* 949d8d6 add LogicalParent null test for getDataSource +* 676857a debug listboxes +* 68912ea spinner style +* f011ac7 debug selectedItem in listbox +* 76edc3c expandable image visibility <= Expandable.HasContent property +* 3cb3ae6 debug +* 54ff9d8 DefaultStyle attribute, loaded in defvalues +* dd66829 replace StyleAttribute=>DefaultStyle +* 42fcd36 remove duplicate of LoadDefault for templated controls, add DEBUG_LOAD +* f927821 use boolean state as svg sub-image in templated controls, solve initial state problem with propertyless bindings +* 7fa677c simple styling test +* a8156b1 Merge branch 'DefTemplateSizing0' +|\ +| * bf27b88 update testCheckbox +| * e341130 force first child of group in Fit to Fit if no other child could be sized +| * 7e1fde1 debug text sizing +| * a8a5562 splitted measure with fault checking, changing default template sizing to 0, lots of bugs. +| * 61d1d07 improve layouting debug output +| * 3249b27 add FindByName in HostContainer +| * d89859c removed useless RegisterForGraphicUpdate in GO CTOR +| * 809ef17 dont clear Parent field, if object oldslot has to be repainted +| * 84bb37e close but on tabItem, SelectedTab checks +| * cf6379f code clean +| * cdded3a code clean +| * 0d8c157 moving tabs +| * 03b4768 code formating +| * c8acef2 ensure dirtyRects are added if dirtyState not cleared between updates +| * e717656 tabView functionnal, mouse handling is a bit complicated, this should be improved +| * 20ea120 code clean +| * 7901c19 remove Hoverable +| * 0bba9f0 Added Hoverable prop to GraphicObject, still have problem in tabview when hover another tab, content is also hover +| * 1a1b87d only upload to texture DirtyRect +| * 7a0f223 dont start bound computation with an empty rect or bounds will always start at (0,0) +| * 0eb9fb4 draw selected tab last, try mouseIsIn +| * 2def04e test mouse is in in reverse order +| * 413cc89 tabItem onDraw +| * 93fd22a add SizePolicy properties +| * 6ef48fc debug stacking computation +| * 60542be Add ArrangeChildren boolean to ILayoutable +| * 3ee2668 testing tabview, ChildLayoutConstraints +| * c24b7bf ensure Children Property is used instead of private Field +| * 692f9db Merge branch 'SizePolicyChecking' into NewWidgets +| |\ +| | * d1953f0 group in one loop size policy checking for generic stack, now there is problems for measureRawSize +| * | 0c4b203 clean using, TreeView and TabView empty c# file creation +| * | 5d8196e resize also on 0 or itemindex-1 +| * | 49a8904 clipping test in top container +| * | 8b9093c Splitter +| |/ +* | 3c1dbdb remove unused DrawingIsValid +* | 4e60cac add clipping test in top container +|/ +* 2a44a31 MouseCursor property in GOLIBHost; IsActive Prop in GraphicObject +* 103791b (tag: 0.3) preparing release 0.3 +* 2e5124c add template binding for props of button +* 331908c add clean color test +* ca41f68 update nunit tests with new clipping algo +* f00a7ac comments +* 1a0b8d5 Merge branch 'CompiledDefaultValueLoading' +|\ +| * 15d9566 pick custom attribute one by one, not in a loop +| * 14c9591 reworked il generation for loadDefaultValues +| * 8657cca that's working, but convertions in IL has to be reworked +| * 304127f handle parsing of string value in defaultLoader +| * 639e2fe put LoadingDelegate in a dictionnary per type as Interface static field +| * 4b7c2c7 create a dyn method for loading default values to try to speed up loading +* | 970a3f7 Merge branch 'NewClipping' +|\ \ +| * \ d1e33e2 Merge branch 'ScrollingWithNewClipping' into NewClipping +| |\ \ +| | * | d6e8940 debug scrolling in new Clipping system +| * | | 9175556 add clipping to client zone with corner radius +| |/ / +| * | a3e324b new clipping system nearly nickel +| * | 46bad7b clipping basics ok for Group and PrivateContainer, problems with Templates +| * | f1f1437 testing clipping rect registration, clear and clip, not working +| * | a823099 separate RecreateCache and UpdateCache +| * | 83c588a progressing, not using contextCoord anymore +| * | 0f813f1 temp save to make test in master +|/ / +* | 44caf51 move computeCursorPosition outside UpdateGraphic (not always called), should call it less in the future +* | 0f8a647 IsQueuedForRedraw boolean in each GO, to prevent searching in object list Move lastPaintedSlot update to Paint instead of UpdateGraphic which is not called if GO isn't cached +* | f2ceefa Merge branch 'master' of https://github.com/jpbruyere/Crow +|\ \ +| |/ +| * 4684843 clean using +* | 66b5781 update test +* | b7a6105 debug Trend.cs +* | fbb2fc5 set default value for Value as Double in NumericControl +* | b8c22d3 clean using +|/ +* 3b43f50 load default img if none is loaded +* e962e4c debug +* 3f2cf36 update NUnit tests +* 70ea173 Merge branch 'master' of https://github.com/jpbruyere/Crow +|\ +| * 1883d59 replace several implicit conversion with ExtensionMethod=>faster; default colorname equality=> ordinal +* | a860d09 update test +* | 5af8e3e LogicalParent use in all bindings; Resolved boolean in Binding class to avoid multiple event registration; resoved all tree in templated control, to allow complex bindings outside template content +* | cf8fa60 add focusable container to get MouseClick without making label text selectable +* | f92c105 Simpler Combo, derived from ListBox with a popper as template root +* | 3966d29 replace several implicit conversion with ExtensionMethod=>faster; default colorname equality=> ordinal +|/ +* e615073 update tests case +* ba7ccac simple trending widget +* cf0052b allow binding of XmlIgnored props +* 53928cc debug +* bddda84 Add PopDirection to Popper Class +* 3dd77aa add checked and unchecked events +* cfbc5bb prevent use of _hoverWidget, prefered property +* ed620f4 Simplify Alignment Enum; add HorizontalStretch and VerticalStretch to GraphicObject +* 9dd6470 remove useless MouseClick (its overrided) +* a5eec67 MaxLayoutingTries; CachingEnabled in GraphicObject + MaxCacheSize +* d810ad1 paged ListBox +* 10b0b2b add GC Memory output +* cc07e6b testStacks +* b915ff1 ensure Groups use Children property (overridable) instead of children field +* e7f1d4e remove HostContainer.gobjsToRedraw.add(this),old clip added differently +* 5617740 update ProgressBar +* f1b44e1 String.Equals ordinal in bindings and color lookup, RegisterForLayouting in Visible change +* 1890cb3 reaply binding modif: removed linq use +* bdbb1eb debug +* 31a67ec Merge SimplerLayoutingQueue +|\ +| * b4da579 tests +| * d78137f code clean +| * f5a17cd remove linq from Stack children sizing, improved computation +| * 46f593f prevent RegisterForLayouting when parent is null, and dequeue LQI when parent of GO is null +| * 1c7f2d6 resolved Checkbox bug (template was modified), adjust several layout registering +| * cb91338 simpler layouting queue test +| * 4f73db4 put test LayoutingType.None outside Stack test +| * 0cab76f test case for layouting +| * 45f41f6 EnqueueBeforeParentSizing -> addLast instead of addFirst +| * 10f1267 prevent stretched child from positionning in the direction of the stack +| * 4aad1e6 prevent child positionning in a stack +| * 95e936c rename LayoutChangeEventArgs=>LayoutingEventArgs +| * 6577bc6 use LayoutingType Enum everywhere instead of casting to (int) +| * 643d44f 2 step, 1=> Simple Register, 2=> Enqueue with priority checking +| * 27c400b dont use linq for searching registeredLQINodes +| * 9e7f05b new layouting update through events +* | 96eae25 changed default solution compile config +* | 9559ce3 remove linq search from deleteLQIs +* | bf2a275 Previous commit had changes from other branch, removed +* | 8346912 remove use of linq in binding resolution, replaced with Dictionnary +|/ +* 759f4f3 Textbox and Label: insert linebreak, update size if Fit +* e864284 ScrollBar derived from NumericControl +* aabc901 code clean +* 9188b4a resolve several bug in scrollbar +* 829c71b Revert "Merge branch 'GroupCacheEnableDisable'" +* 192851b use base.OnDraw in Group +* 6a6ea67 code clean +* 016421c Merge branch 'GroupCacheEnableDisable' +|\ +| * 7d507f3 add Caching property to Group, to allow disabling caching for very often updated surface +* | acfb21c fix interface Reflexion in loop +* | 96bd9ab use StringComparison.Ordinal for dyn updates in bindings +|/ +* 2d20e04 update ignore +* dc0acd6 tests +* 10b0365 tests updates +* a705b3d register LinkedListNode, prevent uneeded cyclic ref +* 64572f9 LayoutingQueue as LinkedList, perf improvments not fantastish +* 335a36c MEASURE_TIME debug var +* ba653e2 update screenshot1 +* 8b0a9a6 remove threading for ListBox, not functionnal +* 488add6 remove Lock for LayoutingQueue: no used for now +* 7b8929e prevent children of uncached group to register for drawing (thats not saving so much time) +* a6779fb rename rectIsNotContainedInRectangles=>doesNotContain +* f013cad remove Paint override in scroller that was painting child 2 times +* ebaffeb Merge branch 'ReferencedLQIs' +|\ +| * 14c1111 new layouting queue with double linked list, buggy +* | 0cce95c update ignore +|/ +* d5f05d1 test color list +* 9e09e05 Cast extention method for Type, used in binding resolution +* 46560c8 add error handling for CrowType not found in group children +* 577c18f button clean +* a67f75c Merge branch 'master' of https://github.com/jpbruyere/Crow +|\ +| * 0fdf520 Merge branch 'master' of https://github.com/jpbruyere/Crow +| |\ +* | \ 59b2c3e Gradient, Bitmap and Svg Filling +|\ \ \ +| |/ / +|/| / +| |/ +| * 67bd044 Gradient, Bitmap and Svg Filling +* | 921126b Gradient, Bitmap and Svg Filling +|/ +* 2b08728 Fix CRLF +* 73b7c1d Revert "removed ixmlserializable from color, not functionnal" +* 610dd6b IFill implementation +* 7fe5cc0 test stretched text, debug +* a05237c clean +* e09e8bc removed ixmlserializable from color, not functionnal +* 4af2d6a removed background image +* 86238b1 debug +* 47fe040 debug and improvments +* 9fa17cd NUnit try, renaming, debugging and uniformizating +* 0bf825f debug renaming, debug template loading not skipping template tag in templatedContainer +* d33bdad renaming in README +* f137659 Rename GOLib to Crow +* bd45fd6 test refresh of scrollbar in listbox template, add RegisterForGraphicUpdate in scroller props +* 8c60c6b resolve in scroller mouse handling bug, check if parent is scroller if mouse is in unscrolled bounds, saved and restrored when bubbling mouse mouve +* 54756d4 set debug details to 0 +* e3bb9b0 Use of Slot.Dimentions in paint instead of Parent.Context(slot) +| * e530a40 (origin/cairogl) init textures to rgba(0,0,0,0) when created, window title bug +| * d15711a cairogl first test, not working +|/ +* f2f2752 implement sizing check in UpdateLayout +* 6306b87 Removed Sizing coherence check in RegisterForLayouting, check occuring during template load causing erratic sizing debug +* b6fccb7 Prevent multiple template loading debug group and stack layouting , onLayoutChanged divers debug +* 8678a13 Group layouting debug (x positionning of children sized with fit) Prevent multiple loading of template and default values while creating XmlSerializer(type) Removed DynamicClass functions, not used for now. Divers debug +* b23b66e Merge branch 'master' of https://github.com/jpbruyere/GOLib +|\ +| * f9a3099 putOnTop as IGOLibInterface, popper putontop +* | 45ff312 testRadioBut2 +|/ +* 743e3b4 update shader base class and textured shader to reflect GGL class changes +| * 8099f17 (origin/glbackend) glbackend tests, copy first try from hg repos +|/ +* f31ffd6 file dialog +* 671366c reset scrollX and Y when scroller child is group and it's children have been cleared +* fb4a1ac chmod -x +* 04e3244 improved test for spinner and focus +* f5f814e test Directory viewer +* 5223bf7 Debug +* d57ae20 debug threaded listbox debug new binding system +* 6bedf8d - GraphicTree parsing bindings in templates instead of using datasource which could be kept for other uses - ListBox bindings debug - LogicalParent for Popper to get correct DataSource for content +* 97536ca allow private handler methods +* 7112c07 debug dyn event handle clearing +* ae08f9c Bindings clearance, code clean +* e3fbc04 new binding system: DynEvents compilation +* 15b8c20 new binding system - Groupin in test case members of same target - bound created delegate to instance of source, prevent need of reference table. +* 4c15030 threaded combo, Monodevelop addin improve +* 8dcac53 generate c# with codedom for GOML MonoDevelop.GOLib addin +* bc12a8d debug, combo improvments +* f662d49 * BmpPicture.cs: allow unscalled picture +* db3a636 clean code +* a91227a Merge branch 'master' of https://github.com/jpbruyere/GOLib +|\ +| * bc96190 (tag: 0.2) Update README.md +* | 41b76ea Combobox +|/ +* 3aba832 clean tests +* 7ce38b9 screenshot update +* 6847840 typo and debug +* 9d6c19a debug and typo +* 92f6458 add Checked and Unchecked events +* c9d9828 * Interface.cs: * GraphicObject.cs: * TemplatedControl.cs: * CompilerServices.cs: Free references queue for dynamic bindings prevent adding reference to spurious object creation during serializer init which cause alien ref impossible to clear +* 4684df8 Improved popper, Position popped window smartly, hide it when mouse leave it, and when popper is removed from rendering hierarchy +* 1e3f153 Check top Objects first if current hover widget not descendant of topmost GraphicObject in topContainer.GraphicObjects +* ff40620 clear binding of child when removed from group +* 7c25a2d use addDelegate instead of set (to not erase other ones) +* 63e0f0e * GOLib.csproj: removed unused WinForm ref, add readme +* e349658 debug and typo +* 75bdbe5 Templated Groupbox +* 8d543b4 Implement TemplatedWidth and TemplatedHeight PropertyLess bindings to propagate sizing policy inside template +* ba8da35 Improve PropertyLess bindings to handle other data types +* 18e481d debug +* 3e4b4eb make use of binding for default window +* b2bef25 Color.Clear to make it possible transparency with GroupBox Title without the border over the text test0 to test the concept +* 475b4dc ensure eventInfo is not null (could be null for propertyLess bindings) +* 01ec9f5 * Tests.csproj: * GOLIBTests.cs: * Popper.goml: * Checkbox.goml: * Expandable.goml: * RadioButton.goml: * test7.goml: * Popper.cs: * test4.1.goml: * test1.3.goml: * Checkbox.cs: * Expandable.cs: * RadioButton.cs: * testCheckbox.goml: * testRadioButton.goml: improve templates, set SvgSub as PropertyLess binding updated with only +* e568d13 clear bindings of list items when data is change +* 6d3c241 dont load image if path is null +* 1c4994e update and test Popper and Expandable templates with dynamic binding instead of onLoadTemplate hook +* 42d9e26 Clear Bindings when GraphicObject is destroyed +* 4161571 Draw borders inside Margin, this allow single level of border with margin, Background will mostly be set in child of border, if not border will have a background outside = Margin width +* 99fff75 messagebox + test + changes to default window template +* 5286db0 set default margin to 0 for label +* a5006f5 * Spinner.goml, Window.cs: debug +* b76c6bf listbox time loading tests +* 3877825 allow goml loading from memory stream with single call to getTopGraphicObject type when loading several time the same template. +* 5a72cb5 load goml with loop on xml attributes, not eventInfos and PropertyInfos, but it will not allow anymore to use custom name for xmlAttribute, they will always have to be the same as in c# +* 0343102 scrolling limit debug +* 20b38d4 Children as property +* 11dcc34 update template and tests with new sizing policy for stacks (stretched by default) +* 8624ae1 Allow one way binding with MemberLess value passed as string with ValueChanched event +* ed5441d Comments +* 4e90f77 removed unnecessary test for bounds in measureRawSize +* a876fd8 TextRun +* 7797eb5 Grid control, Stack sizing default reset to stretched as all the other controls +* 58e643b test +* e931c79 more simple default button svg +* 019452b * GraphicObject.cs: removed Mouse enter and leave debug message +* 53457ed Hack hostClass to have it point to main window when custom class is passed as data source +* 6f3b4f6 Minimal requirements to have selected Item from ListBox +* 660b6f0 * Window.goml: +* 9b49fb8 ImagePath -> Image +* e36790a notes +* 83a4710 use Interface.GetStreamFromPath to handle either file or resource in every loading places +* 0c200d4 simplify Loading, removed unnecessary overloads +* ea0ee84 * Tests.csproj: * GOLIBTests.cs: * GOLIBTest_1.cs: * GOLIBTest_0.cs: * GOLIBTest_5.cs: * GOLIBTest_3.cs: * GOLIBTest_fps.cs: * GOLIBTest_4.1.cs: * GOLIBTest_1.2.cs: * GOLIBTest_1.1.cs: * GOLIBTest_meter.cs: * GOLIBTest_Label.cs: * GOLIBTest_stack.cs: * GOLIBTest_HStack.cs: * GOLIBTest_Spinner.cs: * GOLIBTest_Scrollbar.cs: * GOLIBTest_Container.cs: * GOLIBTest_Expandable.cs: code cleaning, grouped tests +* 302fd15 directory viewer tests +* dcf100d * GOLib.csproj: * XCursor.cs: * OpenTKGameWindow.cs: * GOLIBTest_Window.cs: * Window.cs: * testWindow.goml: Horizontal and vertical Resizing +* c26d9c5 Add redraw clip of graphic object put on top +* aa140f4 clip to client zone with corner radius code cleaning +* cc06e82 code cleaning +* a7f82b9 code cleaning +* 143e2e8 ensure mouse enter is fired on each level +* 81bb03f Clear function +* 967f9bb Dynamic layouting debug and improvments +* ac08ff0 * Tests.csproj: * Window.goml: * GOLIBTest_HStack.cs: * GOLIBTest_Window.cs: * testHStack.goml: * testWindow.goml: debug and tests +* 167e50b Focus improvments: New function (checkHoverWidget) to check most inner control under the mouse, than bubble onMouseMove through the parents +* bacf29e * XCursor.cs: * move: * help: * hand: * cross: * arrow: * top_left_corner: * top_right_corner: * bottom_left_corner: * bottom_right_corner: Mouse xCursors +* eca898b update refs +* adb414a removed OpenTK from submodules, to simplified compilation +* 549bd38 debug +* 6fd66d5 * GOLib.sln: * GOLib.csproj: * GOLIBTest_0.cs: * GOLIBTest_fps.cs: * ReflexionExtensions.cs: * Label.cs: * test4.goml: * GenericStack.cs: * PrivateContainer.cs: * CompilerServices.cs: +* fcfe9c2 Test stack example +* 7f3b870 Avoid some null exception while layouting when parent not already set, and raise exception when goml file not found +* 4464d8c Item template property for listbox, added ItemTemplate for testTypeViewer +* 4c45c1a allow reference to Object Tree with '/' despite of binding source +* 24c01f3 Documentation, analog meter tests +* 61aeb72 * OpenTK: +* 639be44 First working scrollbar with heavy use of binding and events in xml +* 89f3b96 advanced bindings with directory like syntax, need double direction binding +* e335b36 positif scrolling value scrollx and y as properties for xml binding +* 8c99bee - simplify value change with only actual value, not the old one - First tests with Scrollbar +* dc995bd * OpenTK: * OpenTKGameWindow.cs: +* 746f5cf -window, icons +* 78e040f LastPainted slot clipping rect! +* 3260d86 - Window - Popper - redraw clipping debug, solved old top container clipping bug :-) +* f986e25 - popper (buggy) - many redraw issue +* 24cf921 update readme +* 5554858 screenshot2 +* 04f0def - template attribute (in xml, and in c# for default one +* 73c7ac9 - fuse binding and event resolution contexts in GOMLResolver +* 578341c - expandables - events resolution stacking - Inlined template - xmlserialization debugging +* 18e9dca Allow on child in stack to have streatching size, to occupy remaining space if stack size is fixed or stretched. Usefull in the case of spinner for example. +* d546161 * Tests.csproj: * GOLIBTest_2.cs: * GOLIBTest_Spinner.cs: * test2.goml: * test4.goml: * testSpinner.goml: tests +* 0128eeb - generic conversion through Parse method for custom type xml attribute +* a7363d1 - min and max dimensions for objects +* ef87679 - Item template - Null binding for template items with "{}" +* c54c8b8 listbox update +* b56c22a TemplatedControls, Picture objects for pixmap and svg raw data sharing among controls +* 999f18b Merge branch 'master' of https://github.com/jpbruyere/GOLib +|\ +| * dda922e Update README.md +* | 70c3f37 Image loading detecting svg with extension, ressource tag (#) for pathes -svg sub element drawing +|/ +* b98f9cd * GOLIBTest_fps.cs: divers +* fd19c1f Simple bindings demonstration in testFps +* 2a48f25 Merge pull request #3 from jpbruyere/LayoutingQueue +|\ +| * 40392cc Layouting queue, debug test4 validated +| * c88d3c2 Layouting queue test 2 +| * 7b8ff62 Layouting queue +|/ +* 79224ff Merge branch 'master' of https://github.com/jpbruyere/GOLib +|\ +| * c362842 Update README.md +* | ced2c01 OpenTK as submodule \nInterface static class +* | 6a92795 EventHandler extension method for handling test if null +|/ +* 577d860 Merge branch 'master' of https://github.com/jpbruyere/GOLib +|\ +| * f8283be Update README.md +| * 33ef06d Update README.md +| * 3cdbb58 Update README.md +* | 1377490 Multiline TextBox +|/ +* b9ef3d3 screenshot +* 7249a05 * MyClass.cs: * Key.cs: * GOLibView.cs: * GOLibGtkHost.cs: * Buttons.cs: * DisplayBinding.cs: * MouseState.cs: * AddinInfo.cs: * MonoDevelop.GOLib.csproj: * GOLibNodeExtension.cs: * AssemblyInfo.cs: * MouseEventArgs.cs: * MonoDevelop.GOLib.addin.xml: * KeyboardKeyEventArgs.cs: Monodevelop GOLib Addin +* 30baf7a - svg image support - bug fixes +* 4338402 OpenGL indirect drawing for ui quad (shader and vao) +* 871f738 test +* 6554ed8 - use latest improvments in test4.xml +* e8b13fb CompilerServices for EventHandler statements in XML attributes Improve code formatting debug +* 1753010 clean csproj files +* d5a5d95 misa a jour +* 02fed0f Update README.md +* 1ad889b Create README.md +* dab0f2b first commit diff --git a/src/DebugEvents/DebugEvent.cs b/src/DebugEvents/DebugEvent.cs index 68ae40e7..8b49d365 100644 --- a/src/DebugEvents/DebugEvent.cs +++ b/src/DebugEvents/DebugEvent.cs @@ -64,6 +64,9 @@ namespace Crow public DebugEvent Parent; public List ChildEvents = new List(); + public long Ticks { get { return Time.ElapsedTicks; }} + + public virtual void Start () { Time = Stopwatch.StartNew(); } @@ -119,6 +122,11 @@ namespace Crow saveTargetState (); PreviousSlot = Target.LastSlots; } + + public override string ToString () + { + return string.Format ("{0} {1} {2} {3} => {4}", Target, LayoutingType, EndResult, PreviousSlot, Slot); + } } #endif } diff --git a/src/GraphicObjects/Wrapper.cs b/src/GraphicObjects/Wrapper.cs index 43ffedc6..3172e83c 100644 --- a/src/GraphicObjects/Wrapper.cs +++ b/src/GraphicObjects/Wrapper.cs @@ -214,10 +214,6 @@ namespace Crow } public override void OnLayoutChanges (LayoutingType layoutType) { - #if DEBUG_LAYOUTING - IFace.currentLQI.Slot = LastSlots; - IFace.currentLQI.Slot = Slot; - #endif switch (layoutType) { case LayoutingType.Width: childrenRWLock.EnterReadLock (); diff --git a/src/Interface.cs b/src/Interface.cs index 4fc7e669..3b864288 100644 --- a/src/Interface.cs +++ b/src/Interface.cs @@ -588,9 +588,9 @@ namespace Crow /// Result: the Interface bitmap is drawn in memory (byte[] bmp) and a dirtyRect and bitmap are available /// public void Update(){ - #if DBG_EVENTS - DbgStartSubEvt(DbgEvtType.IFaceUpdate); - #endif +// #if DBG_EVENTS +// DbgStartSubEvt(DbgEvtType.IFaceUpdate); +// #endif if (armedClickSender != null && clickTimer.ElapsedMilliseconds >= Interface.DoubleClick) { armedClickSender.onMouseClick (armedClickSender, armedClickEvtArgs); @@ -627,9 +627,9 @@ namespace Crow Monitor.Exit (UpdateMutex); - #if DBG_EVENTS - DbgEndSubEvt (); - #endif +// #if DBG_EVENTS +// DbgEndSubEvt (); +// #endif } #if DEBUG_LAYOUTING public string BreakingName; @@ -638,13 +638,18 @@ namespace Crow /// Layouting queue items. Failing LQI's are requeued in this cycle until MaxTry is reached which /// trigger an enqueue for the next Update Cycle protected virtual void processLayouting(){ - #if DBG_EVENTS - DbgStartSubEvt(DbgEvtType.IFaceLayouting); - #endif - if (Monitor.TryEnter (LayoutMutex)) { DiscardQueue = new Queue (); LayoutingQueueItem lqi; + + #if DBG_EVENTS + bool logLayouting = false; + if (LayoutingQueue.Count > 0){ + DbgStartSubEvt(DbgEvtType.IFaceLayouting); + logLayouting = true; + } + #endif + while (LayoutingQueue.Count > 0) { lqi = LayoutingQueue.Dequeue (); #if DBG_EVENTS @@ -655,19 +660,23 @@ namespace Crow DbgEndSubEvt(); #endif } + + #if DBG_EVENTS + if (logLayouting) + DbgEndSubEvt(); + #endif + LayoutingQueue = DiscardQueue; Monitor.Exit (LayoutMutex); DiscardQueue = null; } - - #if DBG_EVENTS - DbgEndSubEvt(); - #endif } /// Degueue Widget to clip from DrawingQueue and register the last painted slot and the new one /// Clipping rectangles are added at each level of the tree from leef to root, that's the way for the painting /// operation to known if it should go down in the tree for further graphic updates and repaints void clippingRegistration(){ + if (ClippingQueue.Count == 0) + return; #if DBG_EVENTS DbgStartSubEvt(DbgEvtType.IFaceClipping); #endif @@ -686,15 +695,16 @@ namespace Crow } /// Clipping Rectangles drive the drawing process. For compositing, each object under a clip rectangle should be /// repainted. If it contains also clip rectangles, its cache will be update, or if not cached a full redraw will take place - void processDrawing(){ - #if DBG_EVENTS - DbgStartSubEvt(DbgEvtType.IFaceDrawing); - #endif + void processDrawing(){ + if (DragImage != null) clipping.UnionRectangle(new Rectangle (DragImageX, DragImageY, DragImageWidth, DragImageHeight)); using (surf = new ImageSurface (bmp, Format.Argb32, ClientRectangle.Width, ClientRectangle.Height, ClientRectangle.Width * 4)) { using (ctx = new Context (surf)){ if (!clipping.IsEmpty) { + #if DBG_EVENTS + DbgStartSubEvt(DbgEvtType.IFaceDrawing); + #endif for (int i = 0; i < clipping.NumRectangles; i++) ctx.Rectangle(clipping.GetRectangle(i)); @@ -731,6 +741,9 @@ namespace Crow //Console.WriteLine ("dragimage drawn: {0},{1}", DragImageX, DragImageY); } } + #if DBG_EVENTS + DbgEndSubEvt (); + #endif #if DEBUG_CLIP_RECTANGLE clipping.stroke (ctx, Color.Red.AdjustAlpha(0.5)); @@ -768,9 +781,6 @@ namespace Crow //surf.WriteToPng (@"/mnt/data/test.png"); } } - #if DBG_EVENTS - DbgEndSubEvt (); - #endif } #endregion @@ -836,12 +846,6 @@ namespace Crow g.Dispose (); } } - #if DEBUG_LAYOUTING - LQIsTries = new List(); - curLQIsTries = new LQIList(); - LQIs = new List(); - curLQIs = new LQIList(); - #endif } /// Put widget on top of other root widgets public void PutOnTop(GraphicObject g, bool isOverlay = false) @@ -871,12 +875,13 @@ namespace Crow /// Search a Graphic object in the tree named 'nameToFind' public GraphicObject FindByName (string nameToFind) { + GraphicObject r = null; foreach (GraphicObject w in GraphicTree) { - GraphicObject r = w.FindByName (nameToFind); + r = w.FindByName (nameToFind); if (r != null) - return r; + break; } - return null; + return r; } #endregion -- 2.47.3