├── .gitignore ├── Demos └── WebBrowser │ ├── Entitlement.TemplateOSX32.xml │ ├── Unit2.fmx │ ├── Unit2.pas │ ├── Unit3.fmx │ ├── Unit3.pas │ ├── Unit5.fmx │ ├── Unit5.pas │ ├── Unit8.fmx │ ├── Unit8.pas │ ├── WebBrowser.deployproj │ ├── WebBrowser.dpr │ ├── WebBrowser.dproj │ ├── WebBrowser.res │ ├── WebBrowserResource.rc │ └── info.plist.TemplateOSX.xml ├── Documentation ├── CHM │ └── neTabControl.chm └── HTML │ ├── Model.ProSu.Classes.Provider.ProviderClass.htm │ ├── Model.ProSu.Classes.Provider.TProSuProvider.Create.htm │ ├── Model.ProSu.Classes.Provider.TProSuProvider.Destroy.htm │ ├── Model.ProSu.Classes.Provider.TProSuProvider.NotifySubscribers(INotificationInterface).htm │ ├── Model.ProSu.Classes.Provider.TProSuProvider.NotifySubscribers(TInterfaceActions).htm │ ├── Model.ProSu.Classes.Provider.TProSuProvider.Subscribe.htm │ ├── Model.ProSu.Classes.Provider.TProSuProvider.Unsubscribe.htm │ ├── Model.ProSu.Classes.Provider.TProSuProvider.htm │ ├── Model.ProSu.Classes.Provider.TProSuProvider_Constructors.htm │ ├── Model.ProSu.Classes.Provider.TProSuProvider_Methods.htm │ ├── Model.ProSu.Classes.Provider.htm │ ├── Model.ProSu.Classes.Provider_Classes.htm │ ├── Model.ProSu.Classes.Provider_Routines.htm │ ├── Model.ProSu.Classes.Subscriber.SubscriberClass.htm │ ├── Model.ProSu.Classes.Subscriber.TProSuSubscriber.SetUpdateSubscriberMethod(TUpdateSubscriberInterfaceMethod).htm │ ├── Model.ProSu.Classes.Subscriber.TProSuSubscriber.SetUpdateSubscriberMethod(TUpdateSubscriberMethod).htm │ ├── Model.ProSu.Classes.Subscriber.TProSuSubscriber.UpdateSubscriber(INotificationInterface).htm │ ├── Model.ProSu.Classes.Subscriber.TProSuSubscriber.UpdateSubscriber(TInterfaceActions).htm │ ├── Model.ProSu.Classes.Subscriber.TProSuSubscriber.htm │ ├── Model.ProSu.Classes.Subscriber.TProSuSubscriber_Methods.htm │ ├── Model.ProSu.Classes.Subscriber.htm │ ├── Model.ProSu.Classes.Subscriber_Classes.htm │ ├── Model.ProSu.Classes.Subscriber_Routines.htm │ ├── Model.ProSu.InterfaceActions.TInterfaceAction.htm │ ├── Model.ProSu.InterfaceActions.TInterfaceActions.htm │ ├── Model.ProSu.InterfaceActions.htm │ ├── Model.ProSu.InterfaceActions_Enumerations.htm │ ├── Model.ProSu.InterfaceActions_Types.htm │ ├── Model.ProSu.Interfaces.INotificationInterface.htm │ ├── Model.ProSu.Interfaces.IProviderInterface.NotifySubscribers(INotificationInterface).htm │ ├── Model.ProSu.Interfaces.IProviderInterface.NotifySubscribers(TInterfaceActions).htm │ ├── Model.ProSu.Interfaces.IProviderInterface.Subscribe.htm │ ├── Model.ProSu.Interfaces.IProviderInterface.Unsubscribe.htm │ ├── Model.ProSu.Interfaces.IProviderInterface.htm │ ├── Model.ProSu.Interfaces.IProviderInterface_Methods.htm │ ├── Model.ProSu.Interfaces.ISubscriberInterface.SetUpdateSubscriberMethod(TUpdateSubscriberInterfaceMethod).htm │ ├── Model.ProSu.Interfaces.ISubscriberInterface.SetUpdateSubscriberMethod(TUpdateSubscriberMethod).htm │ ├── Model.ProSu.Interfaces.ISubscriberInterface.UpdateSubscriber(INotificationInterface).htm │ ├── Model.ProSu.Interfaces.ISubscriberInterface.UpdateSubscriber(TInterfaceActions).htm │ ├── Model.ProSu.Interfaces.ISubscriberInterface.htm │ ├── Model.ProSu.Interfaces.ISubscriberInterface_Methods.htm │ ├── Model.ProSu.Interfaces.TUpdateSubscriberInterfaceMethod.htm │ ├── Model.ProSu.Interfaces.TUpdateSubscriberMethod.htm │ ├── Model.ProSu.Interfaces.htm │ ├── Model.ProSu.Interfaces_Delegates.htm │ ├── Model.ProSu.Interfaces_Interfaces.htm │ ├── css │ ├── csshover3.htc │ ├── dynatree │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 13.png │ │ ├── 14.png │ │ ├── 15.png │ │ ├── 16.png │ │ ├── 17.png │ │ ├── 18.png │ │ ├── 19.png │ │ ├── 2.png │ │ ├── 20.png │ │ ├── 21.png │ │ ├── 22.png │ │ ├── 23.png │ │ ├── 24.png │ │ ├── 25.png │ │ ├── 26.png │ │ ├── 27.png │ │ ├── 28.png │ │ ├── 29.png │ │ ├── 3.png │ │ ├── 30.png │ │ ├── 31.png │ │ ├── 32.png │ │ ├── 33.png │ │ ├── 34.png │ │ ├── 35.png │ │ ├── 36.png │ │ ├── 37.png │ │ ├── 38.png │ │ ├── 39.png │ │ ├── 4.png │ │ ├── 40.png │ │ ├── 41.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ ├── 9.png │ │ ├── icons.gif │ │ ├── loading.gif │ │ ├── ui.dynatree.css │ │ └── vline.gif │ ├── editor.css │ ├── highlighter.css │ ├── ielte8.css │ ├── presentation.css │ ├── reset.css │ ├── smoothness │ │ ├── images │ │ │ ├── animated-overlay.gif │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ │ ├── ui-icons_222222_256x240.png │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ ├── ui-icons_454545_256x240.png │ │ │ ├── ui-icons_888888_256x240.png │ │ │ └── ui-icons_cd0a0a_256x240.png │ │ └── jquery-ui.css │ └── toc.css │ ├── images │ ├── Caution.gif │ ├── ImageSprite.png │ ├── LastChild.gif │ ├── alert_caution.gif │ ├── alert_note.gif │ ├── alert_security.gif │ ├── book-closed.png │ ├── book.png │ ├── box.gif │ ├── circle.gif │ ├── collall.gif │ ├── collapse.gif │ ├── collapse_all.gif │ ├── collapsing.png │ ├── copycode.gif │ ├── copycodeHighlight.gif │ ├── dropdown.gif │ ├── dropdownHover.gif │ ├── drpdown.gif │ ├── drpdown_orange.gif │ ├── drpdown_orange_up.gif │ ├── drpup.gif │ ├── exp.gif │ ├── expall.gif │ ├── expand.gif │ ├── expand_all.gif │ ├── expanding.png │ ├── filter1a.gif │ ├── filter1c.gif │ ├── footer-bg.png │ ├── footer.gif │ ├── gradient.gif │ ├── greencheck.gif │ ├── greychck.gif │ ├── header-bg.png │ ├── hmtoggle_plus0.gif │ ├── hmtoggle_plus1.gif │ ├── iconErrorTop.png │ ├── load.gif │ ├── load_hover.gif │ ├── namespace.png │ ├── note.gif │ ├── note.png │ ├── pencil.GIF │ ├── privclass.gif │ ├── privdelegate.gif │ ├── privenum.gif │ ├── privenumeration.gif │ ├── privenummember.png │ ├── privevent.gif │ ├── privextension.gif │ ├── privfield.gif │ ├── privinterface.gif │ ├── privmethod.gif │ ├── privproperty.gif │ ├── privstructure.gif │ ├── protclass.gif │ ├── protdelegate.gif │ ├── protenum.gif │ ├── protenumeration.gif │ ├── protenummember.png │ ├── protevent.gif │ ├── protextension.gif │ ├── protfield.gif │ ├── protinterface.gif │ ├── protmethod.gif │ ├── protoperator.gif │ ├── protproperty.gif │ ├── protstructure.gif │ ├── pubclass.gif │ ├── pubdelegate.gif │ ├── pubenum.gif │ ├── pubenumeration.gif │ ├── pubenummember.png │ ├── pubevent.gif │ ├── pubextension.gif │ ├── pubfield.gif │ ├── pubinterface.gif │ ├── pubmethod.gif │ ├── puboperator.gif │ ├── pubproperty.gif │ ├── pubstructure.gif │ ├── requirements1a.gif │ ├── requirements1c.gif │ ├── save.gif │ ├── save_hover.gif │ ├── security.gif │ ├── seealso1a.gif │ ├── seealso1c.gif │ ├── static.gif │ ├── topic.png │ ├── ui-bg_glass_65_ffffff_1x400.png │ ├── uiTabsArrow.png │ └── vgrabber.gif │ ├── index.htm │ ├── js │ ├── di.designer.js │ ├── di.js │ ├── di.toc.js │ ├── highlight.min.js │ ├── jquery-migrate.min.js │ ├── jquery-ui.min.js │ ├── jquery.cookie.js │ ├── jquery.dynatree.min.js │ ├── jquery.min.js │ ├── jquery.textchange.min.js │ └── splitter.js │ ├── keywords.js │ ├── neTabControl.BugVersion.htm │ ├── neTabControl.GetTabControl.htm │ ├── neTabControl.MajorVersion.htm │ ├── neTabControl.MinorVersion.htm │ ├── neTabControl.Register.htm │ ├── neTabControl.TOnAfterAddItem.htm │ ├── neTabControl.TOnAfterAddSidebarControl.htm │ ├── neTabControl.TOnAfterCloseAllItems.htm │ ├── neTabControl.TOnAfterCloseOtherItems.htm │ ├── neTabControl.TOnAfterDeleteItem.htm │ ├── neTabControl.TOnAfterDeleteSidebarControl.htm │ ├── neTabControl.TOnBeforeAddItem.htm │ ├── neTabControl.TOnBeforeAddSibarControl.htm │ ├── neTabControl.TOnBeforeCloseAllItems.htm │ ├── neTabControl.TOnBeforeCloseOtherItems.htm │ ├── neTabControl.TOnBeforeDeleteItem.htm │ ├── neTabControl.TOnBeforeDeleteSidebarControl.htm │ ├── neTabControl.TOnBeforePopupMenu.htm │ ├── neTabControl.TOnCustomHint.htm │ ├── neTabControl.TneDoChangeType.htm │ ├── neTabControl.TneHintType.htm │ ├── neTabControl.TneSibebarControlPosition.htm │ ├── neTabControl.TneTabControl.ActiveTab.htm │ ├── neTabControl.TneTabControl.ActiveTag.htm │ ├── neTabControl.TneTabControl.AddSidebarControl.htm │ ├── neTabControl.TneTabControl.AddTab(string).htm │ ├── neTabControl.TneTabControl.AddTab(string,TneTabItem).htm │ ├── neTabControl.TneTabControl.AddTab(string,TneTabItem,TFrame).htm │ ├── neTabControl.TneTabControl.Align.htm │ ├── neTabControl.TneTabControl.Anchors.htm │ ├── neTabControl.TneTabControl.CanParentFocus.htm │ ├── neTabControl.TneTabControl.ClipChildren.htm │ ├── neTabControl.TneTabControl.ClipParent.htm │ ├── neTabControl.TneTabControl.CloseAllOtherTabsText.htm │ ├── neTabControl.TneTabControl.CloseAllTabsText.htm │ ├── neTabControl.TneTabControl.CloseImageHover.htm │ ├── neTabControl.TneTabControl.CloseImageNormal.htm │ ├── neTabControl.TneTabControl.CloseImagePressed.htm │ ├── neTabControl.TneTabControl.CloseTabText.htm │ ├── neTabControl.TneTabControl.Create.htm │ ├── neTabControl.TneTabControl.Cursor.htm │ ├── neTabControl.TneTabControl.DeleteAllTabs.htm │ ├── neTabControl.TneTabControl.DeleteSidebarControl.htm │ ├── neTabControl.TneTabControl.DeleteTab.htm │ ├── neTabControl.TneTabControl.Destroy.htm │ ├── neTabControl.TneTabControl.DisableFocusEffect.htm │ ├── neTabControl.TneTabControl.DoMainChange.htm │ ├── neTabControl.TneTabControl.DragMode.htm │ ├── neTabControl.TneTabControl.EnableDragHighlight.htm │ ├── neTabControl.TneTabControl.Enabled.htm │ ├── neTabControl.TneTabControl.GetControl.htm │ ├── neTabControl.TneTabControl.GetFrame.htm │ ├── neTabControl.TneTabControl.GetSidebarControl.htm │ ├── neTabControl.TneTabControl.GetSidebarControlCount.htm │ ├── neTabControl.TneTabControl.GetTab.htm │ ├── neTabControl.TneTabControl.GetTabAnimation.htm │ ├── neTabControl.TneTabControl.GetTabAnimationDuration.htm │ ├── neTabControl.TneTabControl.GetTabAnimationInterpolation.htm │ ├── neTabControl.TneTabControl.GetTabAnimationType.htm │ ├── neTabControl.TneTabControl.GetTabByIndex.htm │ ├── neTabControl.TneTabControl.GetTabCount.htm │ ├── neTabControl.TneTabControl.GetTabItemsList.htm │ ├── neTabControl.TneTabControl.GetTabList.htm │ ├── neTabControl.TneTabControl.GetTag.htm │ ├── neTabControl.TneTabControl.GetTagList.htm │ ├── neTabControl.TneTabControl.GetVersion.htm │ ├── neTabControl.TneTabControl.Height.htm │ ├── neTabControl.TneTabControl.HintInterval.htm │ ├── neTabControl.TneTabControl.HintType.htm │ ├── neTabControl.TneTabControl.HitTest.htm │ ├── neTabControl.TneTabControl.InsertTab(string,integer).htm │ ├── neTabControl.TneTabControl.InsertTab(string,integer,TneTabItem).htm │ ├── neTabControl.TneTabControl.InsertTab(string,integer,TneTabItem,TFrame).htm │ ├── neTabControl.TneTabControl.Locked.htm │ ├── neTabControl.TneTabControl.Margins.htm │ ├── neTabControl.TneTabControl.OnAfterAddItem.htm │ ├── neTabControl.TneTabControl.OnAfterAddSidebarControl.htm │ ├── neTabControl.TneTabControl.OnAfterCloseAllItems.htm │ ├── neTabControl.TneTabControl.OnAfterCloseOtherItems.htm │ ├── neTabControl.TneTabControl.OnAfterDeleteItem.htm │ ├── neTabControl.TneTabControl.OnAfterDeleteSidebarControl.htm │ ├── neTabControl.TneTabControl.OnApplyStyleLookup.htm │ ├── neTabControl.TneTabControl.OnBeforeAddItem.htm │ ├── neTabControl.TneTabControl.OnBeforeAddSidebarControl.htm │ ├── neTabControl.TneTabControl.OnBeforeCloseAllItems.htm │ ├── neTabControl.TneTabControl.OnBeforeCloseOtherItems.htm │ ├── neTabControl.TneTabControl.OnBeforeDeleteItem.htm │ ├── neTabControl.TneTabControl.OnBeforeDeleteSidebarControl.htm │ ├── neTabControl.TneTabControl.OnBeforePopupMenu.htm │ ├── neTabControl.TneTabControl.OnCanFocus.htm │ ├── neTabControl.TneTabControl.OnChange.htm │ ├── neTabControl.TneTabControl.OnChangeTab.htm │ ├── neTabControl.TneTabControl.OnClick.htm │ ├── neTabControl.TneTabControl.OnCloseAllTabs.htm │ ├── neTabControl.TneTabControl.OnCloseHintTimer.htm │ ├── neTabControl.TneTabControl.OnCloseOtherTabs.htm │ ├── neTabControl.TneTabControl.OnCustomHint.htm │ ├── neTabControl.TneTabControl.OnDblClick.htm │ ├── neTabControl.TneTabControl.OnDragDrop.htm │ ├── neTabControl.TneTabControl.OnDragEnd.htm │ ├── neTabControl.TneTabControl.OnDragEnter.htm │ ├── neTabControl.TneTabControl.OnDragLeave.htm │ ├── neTabControl.TneTabControl.OnDragOver.htm │ ├── neTabControl.TneTabControl.OnEnter.htm │ ├── neTabControl.TneTabControl.OnExit.htm │ ├── neTabControl.TneTabControl.OnInternalTimer.htm │ ├── neTabControl.TneTabControl.OnKeyDown.htm │ ├── neTabControl.TneTabControl.OnKeyUp.htm │ ├── neTabControl.TneTabControl.OnMainBarChange.htm │ ├── neTabControl.TneTabControl.OnMouseDown.htm │ ├── neTabControl.TneTabControl.OnMouseEnter.htm │ ├── neTabControl.TneTabControl.OnMouseEnterToMainControl.htm │ ├── neTabControl.TneTabControl.OnMouseLeave.htm │ ├── neTabControl.TneTabControl.OnMouseMove.htm │ ├── neTabControl.TneTabControl.OnMouseUp.htm │ ├── neTabControl.TneTabControl.OnMouseWheel.htm │ ├── neTabControl.TneTabControl.OnPaint.htm │ ├── neTabControl.TneTabControl.OnPainting.htm │ ├── neTabControl.TneTabControl.OnResize.htm │ ├── neTabControl.TneTabControl.OnSelectTabInPopupMenu.htm │ ├── neTabControl.TneTabControl.OnTabBarChange.htm │ ├── neTabControl.TneTabControl.Opacity.htm │ ├── neTabControl.TneTabControl.Padding.htm │ ├── neTabControl.TneTabControl.PopupMenu.htm │ ├── neTabControl.TneTabControl.Position.htm │ ├── neTabControl.TneTabControl.RefreshControl(string).htm │ ├── neTabControl.TneTabControl.RefreshControl.htm │ ├── neTabControl.TneTabControl.RefreshTabHeight(string).htm │ ├── neTabControl.TneTabControl.RotationAngle.htm │ ├── neTabControl.TneTabControl.RotationCenter.htm │ ├── neTabControl.TneTabControl.SaveTabs.htm │ ├── neTabControl.TneTabControl.Scale.htm │ ├── neTabControl.TneTabControl.SetActiveTab.htm │ ├── neTabControl.TneTabControl.SetActiveTag.htm │ ├── neTabControl.TneTabControl.SetHintInterval.htm │ ├── neTabControl.TneTabControl.SetTabAnimationInterpolation.htm │ ├── neTabControl.TneTabControl.SetTabHeight.htm │ ├── neTabControl.TneTabControl.SetTabOrientation.htm │ ├── neTabControl.TneTabControl.SetTabPosition.htm │ ├── neTabControl.TneTabControl.ShowHint.htm │ ├── neTabControl.TneTabControl.ShowPopupMenu.htm │ ├── neTabControl.TneTabControl.Size.htm │ ├── neTabControl.TneTabControl.StyleLookup.htm │ ├── neTabControl.TneTabControl.TabAnimation.htm │ ├── neTabControl.TneTabControl.TabAnimationDuration.htm │ ├── neTabControl.TneTabControl.TabAnimationInterpolation.htm │ ├── neTabControl.TneTabControl.TabAnimationType.htm │ ├── neTabControl.TneTabControl.TabCount.htm │ ├── neTabControl.TneTabControl.TabHeight.htm │ ├── neTabControl.TneTabControl.TabOrder.htm │ ├── neTabControl.TneTabControl.TabOrientation.htm │ ├── neTabControl.TneTabControl.TabPosition.htm │ ├── neTabControl.TneTabControl.Tabs[Integer].htm │ ├── neTabControl.TneTabControl.ToggleVisible.htm │ ├── neTabControl.TneTabControl.Transition.htm │ ├── neTabControl.TneTabControl.UpdateFromProvider.htm │ ├── neTabControl.TneTabControl.UpdatePosition.htm │ ├── neTabControl.TneTabControl.Version.htm │ ├── neTabControl.TneTabControl.Visible.htm │ ├── neTabControl.TneTabControl.Width.htm │ ├── neTabControl.TneTabControl.fActiveTab.htm │ ├── neTabControl.TneTabControl.fActiveTag.htm │ ├── neTabControl.TneTabControl.fCloseAllOtherTabsText.htm │ ├── neTabControl.TneTabControl.fCloseAllTabsText.htm │ ├── neTabControl.TneTabControl.fCloseImageHover.htm │ ├── neTabControl.TneTabControl.fCloseImageNormal.htm │ ├── neTabControl.TneTabControl.fCloseImagePressed.htm │ ├── neTabControl.TneTabControl.fCloseTabText.htm │ ├── neTabControl.TneTabControl.fCloseTimer.htm │ ├── neTabControl.TneTabControl.fFramesDictionary.htm │ ├── neTabControl.TneTabControl.fHintInterval.htm │ ├── neTabControl.TneTabControl.fHintType.htm │ ├── neTabControl.TneTabControl.fHistoryList.htm │ ├── neTabControl.TneTabControl.fInternalTimer.htm │ ├── neTabControl.TneTabControl.fLeftLayout.htm │ ├── neTabControl.TneTabControl.fLeftSidebarControls.htm │ ├── neTabControl.TneTabControl.fMainControl.htm │ ├── neTabControl.TneTabControl.fMainGridLayout.htm │ ├── neTabControl.TneTabControl.fMainLayout.htm │ ├── neTabControl.TneTabControl.fMainTabsDictionary.htm │ ├── neTabControl.TneTabControl.fNumofDoMainChangeCalls.htm │ ├── neTabControl.TneTabControl.fOnAfterAddItem.htm │ ├── neTabControl.TneTabControl.fOnAfterAddSidebarControl.htm │ ├── neTabControl.TneTabControl.fOnAfterCloseAllItems.htm │ ├── neTabControl.TneTabControl.fOnAfterCloseOtherItems.htm │ ├── neTabControl.TneTabControl.fOnAfterDeleteItem.htm │ ├── neTabControl.TneTabControl.fOnAfterDeleteSidebarControl.htm │ ├── neTabControl.TneTabControl.fOnBeforeAddItem.htm │ ├── neTabControl.TneTabControl.fOnBeforeAddSidebarControl.htm │ ├── neTabControl.TneTabControl.fOnBeforeCloseAllItems.htm │ ├── neTabControl.TneTabControl.fOnBeforeCloseOtherItems.htm │ ├── neTabControl.TneTabControl.fOnBeforeDeleteItem.htm │ ├── neTabControl.TneTabControl.fOnBeforeDeleteSidebarControl.htm │ ├── neTabControl.TneTabControl.fOnBeforePopupMenu.htm │ ├── neTabControl.TneTabControl.fOnChange.htm │ ├── neTabControl.TneTabControl.fOnCustomHint.htm │ ├── neTabControl.TneTabControl.fPopup.htm │ ├── neTabControl.TneTabControl.fRightLayout.htm │ ├── neTabControl.TneTabControl.fRightSidebarControls.htm │ ├── neTabControl.TneTabControl.fSubscriber.htm │ ├── neTabControl.TneTabControl.fTabAnimation.htm │ ├── neTabControl.TneTabControl.fTabAnimationDuration.htm │ ├── neTabControl.TneTabControl.fTabAnimationInterpolation.htm │ ├── neTabControl.TneTabControl.fTabAnimationType.htm │ ├── neTabControl.TneTabControl.fTabBar.htm │ ├── neTabControl.TneTabControl.fTabHeight.htm │ ├── neTabControl.TneTabControl.fTabOrientation.htm │ ├── neTabControl.TneTabControl.fTabPosition.htm │ ├── neTabControl.TneTabControl.fTabsDictionary.htm │ ├── neTabControl.TneTabControl.fTransitionType.htm │ ├── neTabControl.TneTabControl.fVersion.htm │ ├── neTabControl.TneTabControl.htm │ ├── neTabControl.TneTabControl.setTabAnimation.htm │ ├── neTabControl.TneTabControl.setTabAnimationDuration.htm │ ├── neTabControl.TneTabControl.setTabAnimationType.htm │ ├── neTabControl.TneTabControl_Constructors.htm │ ├── neTabControl.TneTabControl_Events.htm │ ├── neTabControl.TneTabControl_Fields.htm │ ├── neTabControl.TneTabControl_Methods.htm │ ├── neTabControl.TneTabControl_Properties.htm │ ├── neTabControl.TneTabOrientation.htm │ ├── neTabControl.TneTabPosition.htm │ ├── neTabControl.hhc │ ├── neTabControl.hhk │ ├── neTabControl.hhp │ ├── neTabControl.htm │ ├── neTabControlPackage.htm │ ├── neTabControl_Classes.htm │ ├── neTabControl_Constants.htm │ ├── neTabControl_Delegates.htm │ ├── neTabControl_Enumerations.htm │ ├── neTabControl_Routines.htm │ ├── neTabGeneralUtils.BugVersion.htm │ ├── neTabGeneralUtils.FindParentForm.htm │ ├── neTabGeneralUtils.LoadImageFromResources.htm │ ├── neTabGeneralUtils.MajorVersion.htm │ ├── neTabGeneralUtils.MinorVersion.htm │ ├── neTabGeneralUtils.htm │ ├── neTabGeneralUtils_Constants.htm │ ├── neTabGeneralUtils_Routines.htm │ ├── neTabItem.BugVersion.htm │ ├── neTabItem.MajorVersion.htm │ ├── neTabItem.MinorVersion.htm │ ├── neTabItem.TCloseImagesType.htm │ ├── neTabItem.TMouseState.htm │ ├── neTabItem.TneCloseImageControl.CloseImage.htm │ ├── neTabItem.TneCloseImageControl.Create.htm │ ├── neTabItem.TneCloseImageControl.Destroy.htm │ ├── neTabItem.TneCloseImageControl.DoMouseEnter.htm │ ├── neTabItem.TneCloseImageControl.DoMouseLeave.htm │ ├── neTabItem.TneCloseImageControl.GetCloseImage.htm │ ├── neTabItem.TneCloseImageControl.MouseDown.htm │ ├── neTabItem.TneCloseImageControl.MouseUp.htm │ ├── neTabItem.TneCloseImageControl.NotifyTabItem.htm │ ├── neTabItem.TneCloseImageControl.SetCloseImage.htm │ ├── neTabItem.TneCloseImageControl.fProvider.htm │ ├── neTabItem.TneCloseImageControl.htm │ ├── neTabItem.TneCloseImageControl_Constructors.htm │ ├── neTabItem.TneCloseImageControl_Fields.htm │ ├── neTabItem.TneCloseImageControl_Methods.htm │ ├── neTabItem.TneCloseImageControl_Properties.htm │ ├── neTabItem.TneControl.InnerControl.htm │ ├── neTabItem.TneControl.fControl.htm │ ├── neTabItem.TneControl.htm │ ├── neTabItem.TneControl_Fields.htm │ ├── neTabItem.TneControl_Properties.htm │ ├── neTabItem.TneTabItem.ApplyStyle.htm │ ├── neTabItem.TneTabItem.CanClose.htm │ ├── neTabItem.TneTabItem.Caption.htm │ ├── neTabItem.TneTabItem.CaptionAlignment.htm │ ├── neTabItem.TneTabItem.CloseAlignment.htm │ ├── neTabItem.TneTabItem.CloseImageHover.htm │ ├── neTabItem.TneTabItem.CloseImageNormal.htm │ ├── neTabItem.TneTabItem.CloseImagePressed.htm │ ├── neTabItem.TneTabItem.CloseMenuItem.htm │ ├── neTabItem.TneTabItem.ControlAlignment.htm │ ├── neTabItem.TneTabItem.ControlToShow.htm │ ├── neTabItem.TneTabItem.Create.htm │ ├── neTabItem.TneTabItem.Destroy.htm │ ├── neTabItem.TneTabItem.DoMouseLeave.htm │ ├── neTabItem.TneTabItem.GetCloseImage.htm │ ├── neTabItem.TneTabItem.GetTabWidth.htm │ ├── neTabItem.TneTabItem.HintInterval.htm │ ├── neTabItem.TneTabItem.HintText.htm │ ├── neTabItem.TneTabItem.MaxTabWidth.htm │ ├── neTabItem.TneTabItem.MinTabWidth.htm │ ├── neTabItem.TneTabItem.MouseClick.htm │ ├── neTabItem.TneTabItem.MouseMove.htm │ ├── neTabItem.TneTabItem.NotifyToDeleteTab.htm │ ├── neTabItem.TneTabItem.OnHintTimer.htm │ ├── neTabItem.TneTabItem.OnInternalTimer.htm │ ├── neTabItem.TneTabItem.PopupMenuAfterDefault.htm │ ├── neTabItem.TneTabItem.PopupMenuBeforeDefault.htm │ ├── neTabItem.TneTabItem.PreviewImage.htm │ ├── neTabItem.TneTabItem.Provider.htm │ ├── neTabItem.TneTabItem.RefreshControl.htm │ ├── neTabItem.TneTabItem.SafeApplyStyle.htm │ ├── neTabItem.TneTabItem.SetCanClose.htm │ ├── neTabItem.TneTabItem.SetCaption.htm │ ├── neTabItem.TneTabItem.SetCaptionAlignment.htm │ ├── neTabItem.TneTabItem.SetCloseAlignment.htm │ ├── neTabItem.TneTabItem.SetCloseImage.htm │ ├── neTabItem.TneTabItem.SetControlAlignment.htm │ ├── neTabItem.TneTabItem.SetControlToShow.htm │ ├── neTabItem.TneTabItem.SetMaxTabWidth.htm │ ├── neTabItem.TneTabItem.SetMinTabWidth.htm │ ├── neTabItem.TneTabItem.SetShowControl.htm │ ├── neTabItem.TneTabItem.SetTabWidth.htm │ ├── neTabItem.TneTabItem.SetWidth.htm │ ├── neTabItem.TneTabItem.ShowControl.htm │ ├── neTabItem.TneTabItem.ShowFullPopupMenu.htm │ ├── neTabItem.TneTabItem.ShowPopupMenu.htm │ ├── neTabItem.TneTabItem.TabTag.htm │ ├── neTabItem.TneTabItem.TabWidth.htm │ ├── neTabItem.TneTabItem.UpdateFromProvider.htm │ ├── neTabItem.TneTabItem.fCanClose.htm │ ├── neTabItem.TneTabItem.fCaption.htm │ ├── neTabItem.TneTabItem.fCaptionAlignment.htm │ ├── neTabItem.TneTabItem.fCloseAlignment.htm │ ├── neTabItem.TneTabItem.fCloseImageToShow.htm │ ├── neTabItem.TneTabItem.fCloseImages.htm │ ├── neTabItem.TneTabItem.fControlAlignment.htm │ ├── neTabItem.TneTabItem.fControlToShow.htm │ ├── neTabItem.TneTabItem.fHintInterval.htm │ ├── neTabItem.TneTabItem.fHintText.htm │ ├── neTabItem.TneTabItem.fHintTimer.htm │ ├── neTabItem.TneTabItem.fInternalTimer.htm │ ├── neTabItem.TneTabItem.fLastMousePoint.htm │ ├── neTabItem.TneTabItem.fMaxTabWidth.htm │ ├── neTabItem.TneTabItem.fMinTabWidth.htm │ ├── neTabItem.TneTabItem.fMouseState.htm │ ├── neTabItem.TneTabItem.fPopupMenuAfterDefault.htm │ ├── neTabItem.TneTabItem.fPopupMenuBeforeDefault.htm │ ├── neTabItem.TneTabItem.fProvider.htm │ ├── neTabItem.TneTabItem.fRefreshCloseImage.htm │ ├── neTabItem.TneTabItem.fShowControl.htm │ ├── neTabItem.TneTabItem.fShowPopupMenu.htm │ ├── neTabItem.TneTabItem.fSubscriber.htm │ ├── neTabItem.TneTabItem.fTabTag.htm │ ├── neTabItem.TneTabItem.fTabWidth.htm │ ├── neTabItem.TneTabItem.htm │ ├── neTabItem.TneTabItem_Constructors.htm │ ├── neTabItem.TneTabItem_Fields.htm │ ├── neTabItem.TneTabItem_Methods.htm │ ├── neTabItem.TneTabItem_Properties.htm │ ├── neTabItem.htm │ ├── neTabItem.register.htm │ ├── neTabItem_Classes.htm │ ├── neTabItem_Constants.htm │ ├── neTabItem_Enumerations.htm │ ├── neTabItem_Routines.htm │ ├── neTabTypes.BugVersion.htm │ ├── neTabTypes.MajorVersion.htm │ ├── neTabTypes.MinorVersion.htm │ ├── neTabTypes.SCloseAllTabs.htm │ ├── neTabTypes.SCloseOtherTabs.htm │ ├── neTabTypes.SCloseTab.htm │ ├── neTabTypes.TExportElement.htm │ ├── neTabTypes.TExportElements.htm │ ├── neTabTypes.THistoryClass.AddHistory.htm │ ├── neTabTypes.THistoryClass.Create.htm │ ├── neTabTypes.THistoryClass.DeleteHistory.htm │ ├── neTabTypes.THistoryClass.Destroy.htm │ ├── neTabTypes.THistoryClass.GetLastEntry.htm │ ├── neTabTypes.THistoryClass.fHistoryList.htm │ ├── neTabTypes.THistoryClass.htm │ ├── neTabTypes.THistoryClass_Constructors.htm │ ├── neTabTypes.THistoryClass_Fields.htm │ ├── neTabTypes.THistoryClass_Methods.htm │ ├── neTabTypes.TSetOfStrings.htm │ ├── neTabTypes.TShowTabAnimation.htm │ ├── neTabTypes.TneHintTimer.MousePoint.htm │ ├── neTabTypes.TneHintTimer.htm │ ├── neTabTypes.TneHintTimer_Fields.htm │ ├── neTabTypes.TneNotificationClass.Action.htm │ ├── neTabTypes.TneNotificationClass.Point.htm │ ├── neTabTypes.TneNotificationClass.PopupAfter.htm │ ├── neTabTypes.TneNotificationClass.PopupBefore.htm │ ├── neTabTypes.TneNotificationClass.PopupDefault.htm │ ├── neTabTypes.TneNotificationClass.Sender.htm │ ├── neTabTypes.TneNotificationClass.Value.htm │ ├── neTabTypes.TneNotificationClass.ValueInt.htm │ ├── neTabTypes.TneNotificationClass.fActions.htm │ ├── neTabTypes.TneNotificationClass.fPoint.htm │ ├── neTabTypes.TneNotificationClass.fPopupAfter.htm │ ├── neTabTypes.TneNotificationClass.fPopupBefore.htm │ ├── neTabTypes.TneNotificationClass.fPopupDefault.htm │ ├── neTabTypes.TneNotificationClass.fSender.htm │ ├── neTabTypes.TneNotificationClass.fValue.htm │ ├── neTabTypes.TneNotificationClass.fValueInt.htm │ ├── neTabTypes.TneNotificationClass.htm │ ├── neTabTypes.TneNotificationClass_Fields.htm │ ├── neTabTypes.TneNotificationClass_Properties.htm │ ├── neTabTypes.TneTimer.Action.htm │ ├── neTabTypes.TneTimer.Value.htm │ ├── neTabTypes.TneTimer.htm │ ├── neTabTypes.TneTimer_Fields.htm │ ├── neTabTypes.htm │ ├── neTabTypes_Classes.htm │ ├── neTabTypes_Constants.htm │ ├── neTabTypes_Enumerations.htm │ ├── neTabTypes_Types.htm │ ├── toc.htm │ └── toc.js ├── Images ├── Add.png ├── CloseHover.png ├── CloseNormal.png ├── ClosePressed.png └── bookmark.png ├── Installer ├── CompileSource.bat ├── Output │ └── neTabControl-1.4.0-setup.exe └── neTabControl Install Script.iss ├── LICENSE ├── README.md ├── ReleaseHistory.docx ├── Screenshots ├── Architecture.png ├── ButtonAtTheTabbar.png ├── CloseImageOnHover.png ├── Control1.png ├── Control2.png ├── Control3.png ├── Control4.png ├── PositionLeft.png ├── PreviewAsHint.png ├── Right-Click.png ├── Style1-Air.png ├── Style2-MetropolisUIBlack.png ├── TabBar.png └── TitleAsHint.png └── SourceCode ├── Package ├── neTabControl.pas ├── neTabControlPackage.dpk ├── neTabControlPackage.dproj ├── neTabControlVersionInfo.inc ├── neTabGeneralUtils.pas ├── neTabItem.pas └── neTabTypes.pas ├── SupportCode ├── Model.IntActions.pas ├── Model.Interf.pas ├── Model.Provider.pas └── Model.Subscriber.pas ├── TabControlDesignerProject.dpr ├── TabControlDesignerProject.dproj ├── TabControlProjectGroup.groupproj └── neTabControlProjectGroup.groupproj /.gitignore: -------------------------------------------------------------------------------- 1 | /Win32/* 2 | /Win64/* 3 | /OSX32/* 4 | *.dcu 5 | *.drc 6 | *.dres 7 | *.entitlements 8 | *.identcache 9 | *.info.plist 10 | *.local 11 | *.tvsconfig 12 | *.vlb 13 | *.dsk 14 | *.~dsk 15 | *.stat 16 | Demos/WebBrowser/Win32 17 | Demos/WebBrowser/OSX32 18 | Demos/WebBrowser/Win64 19 | Thumbs.db 20 | SourceCode/Builds/Win32 21 | SourceCode/TestDevelopment/OSX32 22 | neTabControl_Chm.log 23 | TabControlProjectGroup.diproj 24 | TabControlProjectGroup.log 25 | -------------------------------------------------------------------------------- /Demos/WebBrowser/Entitlement.TemplateOSX32.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <%appSandboxKeys%> 6 | 7 | 8 | -------------------------------------------------------------------------------- /Demos/WebBrowser/Unit2.fmx: -------------------------------------------------------------------------------- 1 | object Frame2: TFrame2 2 | Size.Width = 532.000000000000000000 3 | Size.Height = 396.000000000000000000 4 | Size.PlatformDefault = False 5 | object Layout1: TLayout 6 | Align = MostTop 7 | Size.Width = 532.000000000000000000 8 | Size.Height = 57.000000000000000000 9 | Size.PlatformDefault = False 10 | TabOrder = 1 11 | object Label2: TLabel 12 | StyledSettings = [Family, FontColor] 13 | Position.X = 8.000000000000000000 14 | Position.Y = 8.000000000000000000 15 | Size.Width = 489.000000000000000000 16 | Size.Height = 17.000000000000000000 17 | Size.PlatformDefault = False 18 | TextSettings.Font.Size = 16.000000000000000000 19 | TextSettings.Font.StyleExt = {00070000000000000004000000} 20 | Text = 'Enter an address and hit Go' 21 | end 22 | object Label1: TLabel 23 | Position.X = 8.000000000000000000 24 | Position.Y = 32.000000000000000000 25 | Size.Width = 65.000000000000000000 26 | Size.Height = 17.000000000000000000 27 | Size.PlatformDefault = False 28 | Text = 'Address:' 29 | end 30 | object Edit1: TEdit 31 | Touch.InteractiveGestures = [LongTap, DoubleTap] 32 | TabOrder = 2 33 | Position.X = 72.000000000000000000 34 | Position.Y = 30.000000000000000000 35 | Size.Width = 369.000000000000000000 36 | Size.Height = 22.000000000000000000 37 | Size.PlatformDefault = False 38 | end 39 | object Button1: TButton 40 | Position.X = 456.000000000000000000 41 | Position.Y = 30.000000000000000000 42 | Size.Width = 41.000000000000000000 43 | Size.Height = 22.000000000000000000 44 | Size.PlatformDefault = False 45 | TabOrder = 3 46 | Text = 'Go' 47 | OnClick = Button1Click 48 | end 49 | end 50 | object Layout2: TLayout 51 | Align = Client 52 | Size.Width = 532.000000000000000000 53 | Size.Height = 339.000000000000000000 54 | Size.PlatformDefault = False 55 | TabOrder = 2 56 | object Label3: TLabel 57 | Align = Contents 58 | StyledSettings = [Family, Style, FontColor] 59 | Margins.Left = 20.000000000000000000 60 | Margins.Top = 20.000000000000000000 61 | Margins.Right = 20.000000000000000000 62 | Margins.Bottom = 20.000000000000000000 63 | Size.Width = 492.000000000000000000 64 | Size.Height = 299.000000000000000000 65 | Size.PlatformDefault = False 66 | TextSettings.Font.Size = 32.000000000000000000 67 | TextSettings.HorzAlign = Center 68 | TextSettings.VertAlign = Leading 69 | end 70 | end 71 | end 72 | -------------------------------------------------------------------------------- /Demos/WebBrowser/Unit2.pas: -------------------------------------------------------------------------------- 1 | unit Unit2; 2 | 3 | interface 4 | 5 | uses 6 | System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, 7 | FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, 8 | neTabControl, FMX.WebBrowser, FMX.StdCtrls, FMX.Edit, 9 | FMX.Controls.Presentation, FMX.Layouts; 10 | 11 | type 12 | TFrame2 = class(TFrame) 13 | Label1: TLabel; 14 | Edit1: TEdit; 15 | Button1: TButton; 16 | Label2: TLabel; 17 | Layout1: TLayout; 18 | Layout2: TLayout; 19 | Label3: TLabel; 20 | procedure Button1Click(Sender: TObject); 21 | private 22 | fParentTabControl: TneTabControl; 23 | procedure SetParentTabControl (const newParent: TneTabControl); 24 | public 25 | property ParentTabControl: TneTabControl read fParentTabControl 26 | write SetPArentTabControl; 27 | constructor Create(AOwner: TComponent); override; 28 | end; 29 | 30 | implementation 31 | 32 | {$R *.fmx} 33 | 34 | { TFrame2 } 35 | 36 | procedure TFrame2.Button1Click(Sender: TObject); 37 | begin 38 | if edit1.text<>'' then 39 | begin 40 | // WebBrowser1.URL:=Edit1.text; 41 | if Assigned(fParentTabControl) then 42 | begin 43 | fParentTabControl.GetTab(self.TagString).Text:=Edit1.Text; 44 | end; 45 | Label3.Text:='Normally a webbrowser component would open '+#13+#10+Edit1.text+ 46 | #13+#10+' but, unfortuantely, it does work correctly when put in a frame'; 47 | end; 48 | end; 49 | 50 | constructor TFrame2.Create(AOwner: TComponent); 51 | begin 52 | inherited; 53 | self.Name:=''; 54 | end; 55 | 56 | procedure TFrame2.SetParentTabControl(const newParent: TneTabControl); 57 | begin 58 | fParentTabControl:=newParent; 59 | self.Align:=TAlignLayout.Client; 60 | end; 61 | 62 | end. 63 | -------------------------------------------------------------------------------- /Demos/WebBrowser/Unit3.fmx: -------------------------------------------------------------------------------- 1 | object Frame3: TFrame3 2 | Size.Width = 586.000000000000000000 3 | Size.Height = 365.000000000000000000 4 | Size.PlatformDefault = False 5 | object Rectangle1: TRectangle 6 | Align = MostTop 7 | Fill.Color = claPalegreen 8 | Size.Width = 586.000000000000000000 9 | Size.Height = 73.000000000000000000 10 | Size.PlatformDefault = False 11 | object Label1: TLabel 12 | Align = Contents 13 | StyledSettings = [Family, Style, FontColor] 14 | Margins.Left = 20.000000000000000000 15 | Size.Width = 566.000000000000000000 16 | Size.Height = 73.000000000000000000 17 | Size.PlatformDefault = False 18 | TextSettings.Font.Size = 32.000000000000000000 19 | Text = 'Options' 20 | end 21 | end 22 | object CheckBox1: TCheckBox 23 | IsChecked = True 24 | Position.X = 24.000000000000000000 25 | Position.Y = 96.000000000000000000 26 | TabOrder = 0 27 | Text = 'Show Control' 28 | OnChange = CheckBox1Change 29 | end 30 | object CheckBox2: TCheckBox 31 | IsChecked = True 32 | Position.X = 24.000000000000000000 33 | Position.Y = 132.000000000000000000 34 | Size.Width = 553.000000000000000000 35 | Size.Height = 19.000000000000000000 36 | Size.PlatformDefault = False 37 | TabOrder = 1 38 | Text = 'Show Popup Menu (Right-click on the tab item)' 39 | OnChange = CheckBox2Change 40 | end 41 | object CheckBox3: TCheckBox 42 | IsChecked = True 43 | Position.X = 24.000000000000000000 44 | Position.Y = 168.000000000000000000 45 | Size.Width = 257.000000000000000000 46 | Size.Height = 19.000000000000000000 47 | Size.PlatformDefault = False 48 | TabOrder = 2 49 | Text = 'Can Close' 50 | OnChange = CheckBox3Change 51 | end 52 | object GroupBox1: TGroupBox 53 | Position.X = 24.000000000000000000 54 | Position.Y = 200.000000000000000000 55 | Size.Width = 120.000000000000000000 56 | Size.Height = 121.000000000000000000 57 | Size.PlatformDefault = False 58 | Text = 'Hints' 59 | TabOrder = 3 60 | object RadioButton1: TRadioButton 61 | GroupName = 'Hints' 62 | IsChecked = True 63 | Position.X = 16.000000000000000000 64 | Position.Y = 24.000000000000000000 65 | Size.Width = 89.000000000000000000 66 | Size.Height = 19.000000000000000000 67 | Size.PlatformDefault = False 68 | TabOrder = 0 69 | Text = 'Off' 70 | OnChange = RadioButton1Change 71 | end 72 | object RadioButton2: TRadioButton 73 | GroupName = 'Hints' 74 | Position.X = 16.000000000000000000 75 | Position.Y = 56.000000000000000000 76 | Size.Width = 88.000000000000000000 77 | Size.Height = 19.000000000000000000 78 | Size.PlatformDefault = False 79 | TabOrder = 2 80 | Text = 'Text' 81 | OnChange = RadioButton2Change 82 | end 83 | object RadioButton3: TRadioButton 84 | GroupName = 'Hints' 85 | Position.X = 16.000000000000000000 86 | Position.Y = 88.000000000000000000 87 | Size.Width = 89.000000000000000000 88 | Size.Height = 19.000000000000000000 89 | Size.PlatformDefault = False 90 | TabOrder = 1 91 | Text = 'Preview' 92 | OnChange = RadioButton3Change 93 | end 94 | end 95 | end 96 | -------------------------------------------------------------------------------- /Demos/WebBrowser/Unit3.pas: -------------------------------------------------------------------------------- 1 | unit Unit3; 2 | 3 | interface 4 | 5 | uses 6 | System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, 7 | FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls, 8 | FMX.Controls.Presentation, FMX.Objects, neTabControl; 9 | 10 | type 11 | TFrame3 = class(TFrame) 12 | Rectangle1: TRectangle; 13 | Label1: TLabel; 14 | CheckBox1: TCheckBox; 15 | CheckBox2: TCheckBox; 16 | CheckBox3: TCheckBox; 17 | GroupBox1: TGroupBox; 18 | RadioButton1: TRadioButton; 19 | RadioButton2: TRadioButton; 20 | RadioButton3: TRadioButton; 21 | procedure CheckBox1Change(Sender: TObject); 22 | procedure CheckBox2Change(Sender: TObject); 23 | procedure CheckBox3Change(Sender: TObject); 24 | procedure RadioButton1Change(Sender: TObject); 25 | procedure RadioButton2Change(Sender: TObject); 26 | procedure RadioButton3Change(Sender: TObject); 27 | private 28 | fParentTabControl: TneTabControl; 29 | procedure SetParentTabControl (const newParent: TneTabControl); 30 | public 31 | property ParentTabControl: TneTabControl read fParentTabControl 32 | write SetPArentTabControl; 33 | constructor Create(AOwner: TComponent); override; 34 | end; 35 | 36 | implementation 37 | 38 | {$R *.fmx} 39 | 40 | { TFrame3 } 41 | 42 | procedure TFrame3.CheckBox1Change(Sender: TObject); 43 | begin 44 | if not Assigned(fParentTabControl) then 45 | Exit; 46 | 47 | if CheckBox1.IsChecked then 48 | fParentTabControl.GetTab(self.TagString).ShowControl:=true 49 | else 50 | fParentTabControl.GetTab(self.TagString).ShowControl:=false; 51 | 52 | end; 53 | 54 | procedure TFrame3.CheckBox2Change(Sender: TObject); 55 | begin 56 | if not Assigned(fParentTabControl) then 57 | Exit; 58 | 59 | if CheckBox2.IsChecked then 60 | fParentTabControl.GetTab(self.TagString).ShowPopupMenu:=true 61 | else 62 | fParentTabControl.GetTab(self.TagString).ShowPopupMenu:=false; 63 | 64 | end; 65 | 66 | procedure TFrame3.CheckBox3Change(Sender: TObject); 67 | begin 68 | if not Assigned(fParentTabControl) then 69 | Exit; 70 | 71 | if CheckBox3.IsChecked then 72 | fParentTabControl.GetTab(self.TagString).CanClose:=true 73 | else 74 | fParentTabControl.GetTab(self.TagString).CanClose:=false; 75 | 76 | end; 77 | 78 | constructor TFrame3.Create(AOwner: TComponent); 79 | begin 80 | inherited; 81 | self.Name:=''; 82 | end; 83 | 84 | procedure TFrame3.RadioButton1Change(Sender: TObject); 85 | begin 86 | fParentTabControl.HintType:=TneHintType.Off; 87 | end; 88 | 89 | procedure TFrame3.RadioButton2Change(Sender: TObject); 90 | begin 91 | fParentTabControl.HintType:=TneHintType.Text; 92 | end; 93 | 94 | procedure TFrame3.RadioButton3Change(Sender: TObject); 95 | begin 96 | fParentTabControl.HintType:=TneHintType.Preview; 97 | end; 98 | 99 | procedure TFrame3.SetParentTabControl(const newParent: TneTabControl); 100 | begin 101 | fParentTabControl:=newParent; 102 | self.Align:=TAlignLayout.Client; 103 | end; 104 | 105 | end. 106 | -------------------------------------------------------------------------------- /Demos/WebBrowser/Unit5.fmx: -------------------------------------------------------------------------------- 1 | object Frame5: TFrame5 2 | Size.Width = 512.000000000000000000 3 | Size.Height = 533.000000000000000000 4 | Size.PlatformDefault = False 5 | object Rectangle1: TRectangle 6 | Align = MostTop 7 | Fill.Color = claSkyblue 8 | Size.Width = 512.000000000000000000 9 | Size.Height = 73.000000000000000000 10 | Size.PlatformDefault = False 11 | object Label1: TLabel 12 | Align = Contents 13 | StyledSettings = [Family, Style, FontColor] 14 | Margins.Left = 20.000000000000000000 15 | Size.Width = 492.000000000000000000 16 | Size.Height = 73.000000000000000000 17 | Size.PlatformDefault = False 18 | TextSettings.Font.Size = 32.000000000000000000 19 | Text = 'Download 1' 20 | end 21 | end 22 | object Label2: TLabel 23 | Align = Horizontal 24 | StyledSettings = [Family, Style, FontColor] 25 | Margins.Left = 20.000000000000000000 26 | Margins.Right = 20.000000000000000000 27 | Position.X = 20.000000000000000000 28 | Position.Y = 80.000000000000000000 29 | Size.Width = 472.000000000000000000 30 | Size.Height = 65.000000000000000000 31 | Size.PlatformDefault = False 32 | TextSettings.Font.Size = 22.000000000000000000 33 | Text = 34 | 'Select type of component and click the button to download conten' + 35 | 't 1' 36 | end 37 | object Button1: TButton 38 | Position.X = 408.000000000000000000 39 | Position.Y = 160.000000000000000000 40 | TabOrder = 3 41 | Text = 'Start' 42 | OnClick = Button1Click 43 | end 44 | object Label3: TLabel 45 | Position.X = 216.000000000000000000 46 | Position.Y = 160.000000000000000000 47 | Size.Width = 169.000000000000000000 48 | Size.Height = 22.000000000000000000 49 | Size.PlatformDefault = False 50 | Text = 'Ready to download' 51 | end 52 | object GroupBox1: TGroupBox 53 | Position.X = 24.000000000000000000 54 | Position.Y = 152.000000000000000000 55 | Size.Width = 185.000000000000000000 56 | Size.Height = 225.000000000000000000 57 | Size.PlatformDefault = False 58 | Text = 'Type' 59 | TabOrder = 5 60 | object RadioButton1: TRadioButton 61 | GroupName = 'Type' 62 | IsChecked = True 63 | Position.X = 16.000000000000000000 64 | Position.Y = 16.000000000000000000 65 | Size.Width = 152.000000000000000000 66 | Size.Height = 35.000000000000000000 67 | Size.PlatformDefault = False 68 | TabOrder = 4 69 | Text = 'AniIndicator' 70 | end 71 | object RadioButton2: TRadioButton 72 | GroupName = 'Type' 73 | Position.X = 16.000000000000000000 74 | Position.Y = 49.000000000000000000 75 | Size.Width = 152.000000000000000000 76 | Size.Height = 39.000000000000000000 77 | Size.PlatformDefault = False 78 | TabOrder = 3 79 | Text = 'ArcDial' 80 | end 81 | object RadioButton3: TRadioButton 82 | GroupName = 'Type' 83 | Position.X = 16.000000000000000000 84 | Position.Y = 87.000000000000000000 85 | Size.Width = 152.000000000000000000 86 | Size.Height = 35.000000000000000000 87 | Size.PlatformDefault = False 88 | TabOrder = 2 89 | Text = 'TMS Badge' 90 | end 91 | object RadioButton4: TRadioButton 92 | GroupName = 'Type' 93 | Position.X = 16.000000000000000000 94 | Position.Y = 120.000000000000000000 95 | Size.Width = 152.000000000000000000 96 | Size.Height = 35.000000000000000000 97 | Size.PlatformDefault = False 98 | TabOrder = 0 99 | Text = 'Progress Bar' 100 | end 101 | object RadioButton5: TRadioButton 102 | GroupName = 'Type' 103 | Position.X = 16.000000000000000000 104 | Position.Y = 159.000000000000000000 105 | Size.Width = 152.000000000000000000 106 | Size.Height = 35.000000000000000000 107 | Size.PlatformDefault = False 108 | TabOrder = 1 109 | Text = 'TMS Progress Bar' 110 | end 111 | end 112 | object ProgressBar1: TProgressBar 113 | Orientation = Horizontal 114 | Position.X = 216.000000000000000000 115 | Position.Y = 192.000000000000000000 116 | Size.Width = 273.000000000000000000 117 | Size.Height = 20.000000000000000000 118 | Size.PlatformDefault = False 119 | end 120 | end 121 | -------------------------------------------------------------------------------- /Demos/WebBrowser/Unit8.fmx: -------------------------------------------------------------------------------- 1 | object Form8: TForm8 2 | Left = 0 3 | Top = 0 4 | Caption = 'Form8' 5 | ClientHeight = 778 6 | ClientWidth = 1098 7 | StyleBook = StyleBook1 8 | FormFactor.Width = 320 9 | FormFactor.Height = 480 10 | FormFactor.Devices = [Desktop] 11 | OnCreate = FormCreate 12 | OnResize = FormResize 13 | DesignerMasterStyle = 0 14 | object ButtonDownload1: TButton 15 | Anchors = [akTop, akRight] 16 | Position.X = 736.000000000000000000 17 | Position.Y = 16.000000000000000000 18 | Size.Width = 145.000000000000000000 19 | Size.Height = 49.000000000000000000 20 | Size.PlatformDefault = False 21 | TabOrder = 0 22 | Text = 'Download Content' 23 | OnClick = ButtonDownload1Click 24 | end 25 | object neTabControl1: TneTabControl 26 | CloseTabText = 'Close' 27 | CloseAllTabsText = 'Close All Tabs' 28 | CloseAllOtherTabsText = 'Close All Other Tabs' 29 | HintInterval = 0 30 | TabAnimation = taNone 31 | TabAnimationDuration = 0.200000000000000000 32 | TabAnimationType = In 33 | TabAnimationInterpolation = Linear 34 | Align = MostBottom 35 | Anchors = [akLeft, akTop, akRight, akBottom] 36 | DisableFocusEffect = False 37 | Margins.Left = 20.000000000000000000 38 | Margins.Right = 20.000000000000000000 39 | Margins.Bottom = 20.000000000000000000 40 | Position.X = 20.000000000000000000 41 | Position.Y = 152.000000000000000000 42 | TabOrder = 1 43 | Size.Width = 1058.000000000000000000 44 | Size.Height = 606.000000000000000000 45 | Size.PlatformDefault = False 46 | end 47 | object GroupBox1: TGroupBox 48 | Anchors = [akTop, akRight] 49 | Position.X = 888.000000000000000000 50 | Position.Y = 8.000000000000000000 51 | Size.Width = 193.000000000000000000 52 | Size.Height = 65.000000000000000000 53 | Size.PlatformDefault = False 54 | Text = 'Position' 55 | TabOrder = 2 56 | object RadioButton1: TRadioButton 57 | GroupName = 'Position' 58 | IsChecked = True 59 | Position.X = 16.000000000000000000 60 | Position.Y = 24.000000000000000000 61 | Size.Width = 73.000000000000000000 62 | Size.Height = 19.000000000000000000 63 | Size.PlatformDefault = False 64 | TabOrder = 0 65 | Text = 'Top' 66 | OnChange = RadioButton1Change 67 | end 68 | object RadioButton2: TRadioButton 69 | GroupName = 'Position' 70 | Position.X = 104.000000000000000000 71 | Position.Y = 24.000000000000000000 72 | Size.Width = 64.000000000000000000 73 | Size.Height = 19.000000000000000000 74 | Size.PlatformDefault = False 75 | TabOrder = 1 76 | Text = 'Left' 77 | OnChange = RadioButton2Change 78 | end 79 | end 80 | object Button2: TButton 81 | Anchors = [akTop, akRight] 82 | Position.X = 640.000000000000000000 83 | Position.Y = 16.000000000000000000 84 | TabOrder = 3 85 | Text = 'Options' 86 | OnClick = Button2Click 87 | end 88 | object Button3: TButton 89 | Anchors = [akTop, akRight] 90 | Position.X = 640.000000000000000000 91 | Position.Y = 48.000000000000000000 92 | TabOrder = 4 93 | Text = 'Load Style' 94 | OnClick = Button3Click 95 | end 96 | object Label1: TLabel 97 | Anchors = [akTop, akRight] 98 | Position.X = 640.000000000000000000 99 | Position.Y = 80.000000000000000000 100 | Size.Width = 81.000000000000000000 101 | Size.Height = 17.000000000000000000 102 | Size.PlatformDefault = False 103 | Text = 'TabHeight:' 104 | end 105 | object Edit1: TEdit 106 | Touch.InteractiveGestures = [LongTap, DoubleTap] 107 | Anchors = [akTop, akRight] 108 | TabOrder = 9 109 | Text = '30' 110 | Position.X = 640.000000000000000000 111 | Position.Y = 104.000000000000000000 112 | Size.Width = 81.000000000000000000 113 | Size.Height = 25.000000000000000000 114 | Size.PlatformDefault = False 115 | OnChangeTracking = Edit1ChangeTracking 116 | end 117 | object StyleBook1: TStyleBook 118 | Styles = < 119 | item 120 | end> 121 | Left = 1056 122 | Top = 48 123 | end 124 | object OpenDialog1: TOpenDialog 125 | Left = 1064 126 | Top = 24 127 | end 128 | object Label2: TLabel 129 | Anchors = [akTop, akRight] 130 | Position.X = 728.000000000000000000 131 | Position.Y = 104.000000000000000000 132 | Size.Width = 361.000000000000000000 133 | Size.Height = 25.000000000000000000 134 | Size.PlatformDefault = False 135 | Text = 'Default' 136 | end 137 | end 138 | -------------------------------------------------------------------------------- /Demos/WebBrowser/WebBrowser.dpr: -------------------------------------------------------------------------------- 1 | program WebBrowser; 2 | 3 | {$R *.dres} 4 | 5 | uses 6 | {$IFDEF EurekaLog} 7 | EMemLeaks, 8 | EResLeaks, 9 | EDialogWinAPIMSClassic, 10 | EDialogWinAPIEurekaLogDetailed, 11 | EDialogWinAPIStepsToReproduce, 12 | EDebugExports, 13 | EDebugJCL, 14 | EFixSafeCallException, 15 | EMapWin32, 16 | EAppFMX, 17 | ExceptionLog7, 18 | {$ENDIF EurekaLog} 19 | System.StartUpCopy, 20 | FMX.Forms, 21 | Unit8 in 'Unit8.pas' {Form8}, 22 | Unit2 in 'Unit2.pas' {Frame2: TFrame}, 23 | Unit3 in 'Unit3.pas' {Frame3: TFrame}, 24 | Unit5 in 'Unit5.pas' {Frame5: TFrame}, 25 | neTabTypes in '..\..\SourceCode\Package\neTabTypes.pas', 26 | neTabItem in '..\..\SourceCode\Package\neTabItem.pas', 27 | neTabGeneralUtils in '..\..\SourceCode\Package\neTabGeneralUtils.pas', 28 | neTabControl in '..\..\SourceCode\Package\neTabControl.pas', 29 | Model.Subscriber in '..\..\SourceCode\SupportCode\Model.Subscriber.pas', 30 | Model.Provider in '..\..\SourceCode\SupportCode\Model.Provider.pas', 31 | Model.Interf in '..\..\SourceCode\SupportCode\Model.Interf.pas', 32 | Model.IntActions in '..\..\SourceCode\SupportCode\Model.IntActions.pas'; 33 | 34 | {$R *.res} 35 | 36 | begin 37 | Application.Initialize; 38 | Application.CreateForm(TForm8, Form8); 39 | Application.Run; 40 | end. 41 | -------------------------------------------------------------------------------- /Demos/WebBrowser/WebBrowser.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Demos/WebBrowser/WebBrowser.res -------------------------------------------------------------------------------- /Demos/WebBrowser/WebBrowserResource.rc: -------------------------------------------------------------------------------- 1 | Star RCDATA "..\\..\\Images\\bookmark.png" 2 | CloseHover RCDATA "..\\..\\Images\\CloseHover.png" 3 | CloseNormal RCDATA "..\\..\\Images\\CloseNormal.png" 4 | ClosePressed RCDATA "..\\..\\Images\\ClosePressed.png" 5 | AddImage RCDATA "..\\..\\Images\\Add.png" 6 | -------------------------------------------------------------------------------- /Demos/WebBrowser/info.plist.TemplateOSX.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <%VersionInfoPListKeys%> 6 | <%ExtraInfoPListKeys%> 7 | 8 | 9 | -------------------------------------------------------------------------------- /Documentation/CHM/neTabControl.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/CHM/neTabControl.chm -------------------------------------------------------------------------------- /Documentation/HTML/Model.ProSu.Classes.Provider_Classes.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Model.ProSu.Classes.Provider Classes 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

Model.ProSu.Classes.Provider Classes

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
TProSuProvider

Represents type TProSuProvider.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/Model.ProSu.Classes.Provider_Routines.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Model.ProSu.Classes.Provider Routines 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

Model.ProSu.Classes.Provider Routines

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
ProviderClass

Represents method ProviderClass.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/Model.ProSu.Classes.Subscriber_Classes.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Model.ProSu.Classes.Subscriber Classes 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

Model.ProSu.Classes.Subscriber Classes

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
TProSuSubscriber

Represents type TProSuSubscriber.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/Model.ProSu.Classes.Subscriber_Routines.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Model.ProSu.Classes.Subscriber Routines 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

Model.ProSu.Classes.Subscriber Routines

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
SubscriberClass

Represents method SubscriberClass.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/Model.ProSu.InterfaceActions_Enumerations.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Model.ProSu.InterfaceActions Enumerations 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

Model.ProSu.InterfaceActions Enumerations

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
TInterfaceAction

An enumerator describing the actions that can be transmitted to subscribers

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/Model.ProSu.InterfaceActions_Types.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Model.ProSu.InterfaceActions Types 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

Model.ProSu.InterfaceActions Types

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
TInterfaceActions

The set of actions to be passed to the Observers

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/css/csshover3.htc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/0.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/1.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/10.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/11.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/12.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/13.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/14.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/15.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/16.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/17.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/18.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/19.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/2.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/20.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/21.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/22.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/23.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/24.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/25.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/26.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/27.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/28.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/29.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/3.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/30.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/31.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/32.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/33.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/34.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/35.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/36.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/37.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/38.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/39.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/4.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/40.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/41.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/5.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/6.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/7.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/8.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/9.png -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/icons.gif -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/loading.gif -------------------------------------------------------------------------------- /Documentation/HTML/css/dynatree/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/dynatree/vline.gif -------------------------------------------------------------------------------- /Documentation/HTML/css/editor.css: -------------------------------------------------------------------------------- 1 | div#content 2 | { 3 | padding-top: 0px; 4 | padding-left: 0px; 5 | clear: both; 6 | } 7 | 8 | h1.title { 9 | margin-top: 5px !important; 10 | font-size: 24px !important; 11 | } 12 | 13 | h4.subHeading { 14 | margin-top: 8px; 15 | margin-bottom: 5px; 16 | } 17 | 18 | /* IE7+ */ 19 | div[contentEditable="true"]:hover 20 | { 21 | border: #ccc dotted 1px; 22 | background-color: lightyellow; 23 | /*margin: 1px;*/ 24 | } 25 | 26 | div[contentEditable="true"]:focus 27 | { 28 | outline:none; 29 | border: 1px dotted #f1ca7f; 30 | margin: 1px; 31 | background-color: lightyellow; 32 | } 33 | 34 | /*@@@*/ 35 | div[contentEditable="true"] 36 | { 37 | border: 1px dotted #ddd; 38 | margin: 1px; 39 | min-height: 15px; 40 | padding: 3px; 41 | } 42 | 43 | div[contentEditable="true"].sectionContent 44 | { 45 | min-height:40px; 46 | } 47 | 48 | /* 49 | div[contentEditable="false"].sectionContent p 50 | { 51 | padding-bottom: 0px; 52 | } 53 | 54 | div[contentEditable="true"] h4 { 55 | margin-bottom: 6px; 56 | } 57 | 58 | .sectionHeader { 59 | margin-top: 6px; 60 | margin-bottom: 12px; 61 | } 62 | 63 | .sectionContent 64 | { 65 | padding-bottom: 8px; 66 | padding-left: 15px; 67 | } 68 | */ 69 | 70 | th.nameColumn 71 | { 72 | width: 30%; 73 | } 74 | 75 | img 76 | { 77 | max-width:100%; 78 | border: none; 79 | } 80 | 81 | #footer 82 | { 83 | border-top: none; 84 | } -------------------------------------------------------------------------------- /Documentation/HTML/css/highlighter.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Visual Studio-like style based on original C# coloring by Jason Diamond 4 | 5 | */ 6 | pre code { 7 | display: block; padding: 0.5em; 8 | } 9 | 10 | pre .comment, 11 | pre .annotation, 12 | pre .template_comment, 13 | pre .diff .header, 14 | pre .chunk, 15 | pre .apache .cbracket { 16 | color: rgb(0, 128, 0); 17 | } 18 | 19 | pre .keyword, 20 | pre .id, 21 | pre .built_in, 22 | pre .smalltalk .class, 23 | pre .winutils, 24 | pre .bash .variable, 25 | pre .tex .command, 26 | pre .request, 27 | pre .status, 28 | pre .nginx .title, 29 | pre .xml .tag, 30 | pre .xml .tag .value { 31 | color: rgb(0, 0, 255); 32 | } 33 | 34 | pre .string, 35 | pre .title, 36 | pre .parent, 37 | pre .tag .value, 38 | pre .rules .value, 39 | pre .rules .value .number, 40 | pre .ruby .symbol, 41 | pre .ruby .symbol .string, 42 | pre .aggregate, 43 | pre .template_tag, 44 | pre .django .variable, 45 | pre .addition, 46 | pre .flow, 47 | pre .stream, 48 | pre .apache .tag, 49 | pre .date, 50 | pre .tex .formula { 51 | color: rgb(163, 21, 21); 52 | } 53 | 54 | pre .ruby .string, 55 | pre .decorator, 56 | pre .filter .argument, 57 | pre .localvars, 58 | pre .array, 59 | pre .attr_selector, 60 | pre .pseudo, 61 | pre .pi, 62 | pre .doctype, 63 | pre .deletion, 64 | pre .envvar, 65 | pre .shebang, 66 | pre .preprocessor, 67 | pre .userType, 68 | pre .apache .sqbracket, 69 | pre .nginx .built_in, 70 | pre .tex .special, 71 | pre .prompt { 72 | color: rgb(43, 145, 175); 73 | } 74 | 75 | pre .phpdoc, 76 | pre .javadoc, 77 | pre .xmlDocTag { 78 | color: rgb(128, 128, 128); 79 | } 80 | 81 | pre .vhdl .typename { font-weight: bold; } 82 | pre .vhdl .string { color: #666666; } 83 | pre .vhdl .literal { color: rgb(163, 21, 21); } 84 | pre .vhdl .attribute { color: #00B0E8; } 85 | 86 | pre .xml .attribute { color: rgb(255, 0, 0); } 87 | -------------------------------------------------------------------------------- /Documentation/HTML/css/ielte8.css: -------------------------------------------------------------------------------- 1 | .ui-tabs .ui-tabs-nav { 2 | padding: 0; 3 | } -------------------------------------------------------------------------------- /Documentation/HTML/css/presentation.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/presentation.css -------------------------------------------------------------------------------- /Documentation/HTML/css/reset.css: -------------------------------------------------------------------------------- 1 | /* http://meyerweb.com/eric/tools/css/reset/ 2 | v2.0 | 20110126 3 | License: none (public domain) 4 | */ 5 | 6 | html, body, div, span, applet, object, iframe, 7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 8 | a, abbr, acronym, address, big, cite, code, 9 | del, dfn, em, ins, kbd, q, s, samp, 10 | small, strike, strong, sub, sup, tt, var, 11 | b, u, i, center, 12 | dl, dt, dd, ol, ul, li, 13 | fieldset, form, label, legend, 14 | article, aside, canvas, details, embed, 15 | figure, figcaption, footer, header, hgroup, 16 | menu, nav, output, ruby, section, summary, 17 | time, mark, audio, video { 18 | margin: 0; 19 | padding: 0; 20 | border: 0; 21 | font-size: 100%; 22 | font: inherit; 23 | vertical-align: baseline; 24 | } 25 | img { 26 | padding: 0; 27 | border: 0; 28 | font-size: 100%; 29 | font: inherit; 30 | } 31 | table, caption, tbody, tfoot, thead, tr, th, td { 32 | margin: 0; 33 | font-size: 100%; 34 | font: inherit; 35 | } 36 | /* HTML5 display-role reset for older browsers */ 37 | article, aside, details, figcaption, figure, 38 | footer, header, hgroup, menu, nav, section { 39 | display: block; 40 | } 41 | blockquote, q { 42 | quotes: none; 43 | } 44 | blockquote:before, blockquote:after, 45 | q:before, q:after { 46 | content: ''; 47 | content: none; 48 | } -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/animated-overlay.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/animated-overlay.gif -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /Documentation/HTML/css/smoothness/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/css/smoothness/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /Documentation/HTML/css/toc.css: -------------------------------------------------------------------------------- 1 | body { 2 | overflow: hidden; 3 | } 4 | 5 | #tabs .ui-widget-header 6 | { 7 | /*background-color: #EFEFEF;*/ 8 | } 9 | 10 | .ui-tabs { 11 | position: static; 12 | } 13 | 14 | #toc_header { 15 | padding-bottom: 0; 16 | } 17 | 18 | #tabs .ui-tabs-nav { 19 | border: 0; 20 | border-bottom: 1px solid #ccc; 21 | padding-top: 19px; 22 | padding-left: 4px; 23 | position: absolute; 24 | top: 0; 25 | left: 0; 26 | width: 100%; 27 | } 28 | 29 | 30 | #tabs .ui-widget-header{ 31 | background-color: #fff; 32 | /*background: #fff url(../images/header-bg.png) left bottom repeat-x;*/ 33 | } 34 | 35 | #tabs .ui-tabs-panel { 36 | overflow: auto; 37 | position: absolute; 38 | padding-top: 8px; 39 | padding-left: 10px; 40 | top: 46px; 41 | left: 0; 42 | right: 0; 43 | bottom: 0; 44 | } 45 | 46 | #tabs > ul li a 47 | { 48 | font-family: 'Segoe UI',Verdana,Arial !important; 49 | font-size: 10pt !important; 50 | padding: 4px 1.5ex 3px !important; 51 | } 52 | 53 | #tabs { 54 | background: transparent; 55 | border: none; 56 | } 57 | #tabs .ui-widget-header { 58 | background-color: #fff !important; 59 | background: transparent; 60 | } 61 | #tabs .ui-tabs-nav .ui-state-default { 62 | background: transparent; 63 | -moz-border-radius: 0px; 64 | -webkit-border-radius: 0px; 65 | border-radius: 0px; 66 | /* border: none; */ 67 | } 68 | #tabs .ui-tabs-nav .ui-state-active { 69 | background: #ffffff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; 70 | -moz-border-radius: 0px; 71 | -webkit-border-radius: 0px; 72 | border-radius: 0px; 73 | } 74 | 75 | #tabs .ui-tabs-nav .ui-state-default a { 76 | color: #000; 77 | } 78 | #tabs .ui-tabs-nav .ui-state-active a { 79 | /* font-weight: bold; */ 80 | color: #000; 81 | } 82 | 83 | /* Tree */ 84 | 85 | ul.dynatree-container { 86 | border: 0; 87 | line-height: 1.5em; 88 | overflow: visible; 89 | padding: 0; 90 | font-family: 'Segoe UI',Verdana,Arial !important; 91 | } 92 | 93 | ul.dynatree-container li 94 | { 95 | background-image: none; 96 | } 97 | 98 | .dynatree-has-children span.dynatree-icon 99 | { 100 | background-position: 0 0; 101 | } 102 | 103 | ul.dynatree-container a:hover { 104 | background-color: #fff; 105 | } 106 | 107 | span.dynatree-icon { 108 | display: none; 109 | } 110 | 111 | span.dynatree-connector { 112 | background-position: -32px -64px; 113 | } 114 | 115 | span.dynatree-has-children span.dynatree-connector { 116 | display: none; 117 | } 118 | 119 | span.dynatree-title a { 120 | /*color: #1364c4 !important;*/ 121 | font-weight: normal !important; 122 | } 123 | 124 | span.dynatree-folder a { 125 | /*color: #1364c4 !important;*/ 126 | font-weight: normal; 127 | } 128 | 129 | span.dynatree-active a { 130 | background-color: #fff !important; 131 | color: #000 !important; 132 | /*color: #1364c4 !important;*/ 133 | font-weight: bold !important; 134 | } 135 | -------------------------------------------------------------------------------- /Documentation/HTML/images/Caution.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/Caution.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/ImageSprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/ImageSprite.png -------------------------------------------------------------------------------- /Documentation/HTML/images/LastChild.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/LastChild.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/alert_caution.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/alert_caution.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/alert_note.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/alert_note.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/alert_security.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/alert_security.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/book-closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/book-closed.png -------------------------------------------------------------------------------- /Documentation/HTML/images/book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/book.png -------------------------------------------------------------------------------- /Documentation/HTML/images/box.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/box.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/circle.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/circle.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/collall.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/collall.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/collapse.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/collapse.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/collapse_all.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/collapse_all.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/collapsing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/collapsing.png -------------------------------------------------------------------------------- /Documentation/HTML/images/copycode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/copycode.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/copycodeHighlight.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/copycodeHighlight.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/dropdown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/dropdown.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/dropdownHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/dropdownHover.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/drpdown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/drpdown.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/drpdown_orange.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/drpdown_orange.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/drpdown_orange_up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/drpdown_orange_up.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/drpup.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/drpup.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/exp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/exp.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/expall.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/expall.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/expand.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/expand.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/expand_all.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/expand_all.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/expanding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/expanding.png -------------------------------------------------------------------------------- /Documentation/HTML/images/filter1a.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/filter1a.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/filter1c.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/filter1c.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/footer-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/footer-bg.png -------------------------------------------------------------------------------- /Documentation/HTML/images/footer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/footer.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/gradient.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/gradient.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/greencheck.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/greencheck.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/greychck.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/greychck.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/header-bg.png -------------------------------------------------------------------------------- /Documentation/HTML/images/hmtoggle_plus0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/hmtoggle_plus0.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/hmtoggle_plus1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/hmtoggle_plus1.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/iconErrorTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/iconErrorTop.png -------------------------------------------------------------------------------- /Documentation/HTML/images/load.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/load.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/load_hover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/load_hover.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/namespace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/namespace.png -------------------------------------------------------------------------------- /Documentation/HTML/images/note.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/note.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/note.png -------------------------------------------------------------------------------- /Documentation/HTML/images/pencil.GIF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pencil.GIF -------------------------------------------------------------------------------- /Documentation/HTML/images/privclass.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privclass.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/privdelegate.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privdelegate.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/privenum.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privenum.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/privenumeration.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privenumeration.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/privenummember.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privenummember.png -------------------------------------------------------------------------------- /Documentation/HTML/images/privevent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privevent.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/privextension.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privextension.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/privfield.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privfield.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/privinterface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privinterface.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/privmethod.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privmethod.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/privproperty.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privproperty.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/privstructure.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/privstructure.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protclass.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protclass.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protdelegate.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protdelegate.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protenum.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protenum.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protenumeration.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protenumeration.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protenummember.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protenummember.png -------------------------------------------------------------------------------- /Documentation/HTML/images/protevent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protevent.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protextension.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protextension.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protfield.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protfield.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protinterface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protinterface.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protmethod.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protmethod.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protoperator.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protoperator.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protproperty.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protproperty.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/protstructure.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/protstructure.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/pubclass.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubclass.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/pubdelegate.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubdelegate.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/pubenum.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubenum.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/pubenumeration.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubenumeration.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/pubenummember.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubenummember.png -------------------------------------------------------------------------------- /Documentation/HTML/images/pubevent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubevent.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/pubextension.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubextension.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/pubfield.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubfield.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/pubinterface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubinterface.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/pubmethod.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubmethod.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/puboperator.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/puboperator.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/pubproperty.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubproperty.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/pubstructure.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/pubstructure.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/requirements1a.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/requirements1a.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/requirements1c.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/requirements1c.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/save.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/save.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/save_hover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/save_hover.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/security.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/security.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/seealso1a.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/seealso1a.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/seealso1c.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/seealso1c.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/static.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/static.gif -------------------------------------------------------------------------------- /Documentation/HTML/images/topic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/topic.png -------------------------------------------------------------------------------- /Documentation/HTML/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /Documentation/HTML/images/uiTabsArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/uiTabsArrow.png -------------------------------------------------------------------------------- /Documentation/HTML/images/vgrabber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Documentation/HTML/images/vgrabber.gif -------------------------------------------------------------------------------- /Documentation/HTML/index.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | neTabControl 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 68 | 69 | 92 | 93 | 94 | 95 | 96 |
97 | 98 | 104 | 105 |
106 | 112 | 116 |
117 |
118 |
119 | 120 | 121 | 122 | 123 | -------------------------------------------------------------------------------- /Documentation/HTML/js/jquery.cookie.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery Cookie Plugin v1.3.1 3 | * https://github.com/carhartl/jquery-cookie 4 | * 5 | * Copyright 2013 Klaus Hartl 6 | * Released under the MIT license 7 | */ 8 | (function (factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as anonymous module. 11 | define(['jquery'], factory); 12 | } else { 13 | // Browser globals. 14 | factory(jQuery); 15 | } 16 | }(function ($) { 17 | 18 | var pluses = /\+/g; 19 | 20 | function decode(s) { 21 | if (config.raw) { 22 | return s; 23 | } 24 | return decodeURIComponent(s.replace(pluses, ' ')); 25 | } 26 | 27 | function decodeAndParse(s) { 28 | if (s.indexOf('"') === 0) { 29 | // This is a quoted cookie as according to RFC2068, unescape... 30 | s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); 31 | } 32 | 33 | s = decode(s); 34 | 35 | try { 36 | return config.json ? JSON.parse(s) : s; 37 | } catch(e) {} 38 | } 39 | 40 | var config = $.cookie = function (key, value, options) { 41 | 42 | // Write 43 | if (value !== undefined) { 44 | options = $.extend({}, config.defaults, options); 45 | 46 | if (typeof options.expires === 'number') { 47 | var days = options.expires, t = options.expires = new Date(); 48 | t.setDate(t.getDate() + days); 49 | } 50 | 51 | value = config.json ? JSON.stringify(value) : String(value); 52 | 53 | return (document.cookie = [ 54 | config.raw ? key : encodeURIComponent(key), 55 | '=', 56 | config.raw ? value : encodeURIComponent(value), 57 | options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE 58 | options.path ? '; path=' + options.path : '', 59 | options.domain ? '; domain=' + options.domain : '', 60 | options.secure ? '; secure' : '' 61 | ].join('')); 62 | } 63 | 64 | // Read 65 | var cookies = document.cookie.split('; '); 66 | var result = key ? undefined : {}; 67 | for (var i = 0, l = cookies.length; i < l; i++) { 68 | var parts = cookies[i].split('='); 69 | var name = decode(parts.shift()); 70 | var cookie = parts.join('='); 71 | 72 | if (key && key === name) { 73 | result = decodeAndParse(cookie); 74 | break; 75 | } 76 | 77 | if (!key) { 78 | result[name] = decodeAndParse(cookie); 79 | } 80 | } 81 | 82 | return result; 83 | }; 84 | 85 | config.defaults = {}; 86 | 87 | $.removeCookie = function (key, options) { 88 | if ($.cookie(key) !== undefined) { 89 | // Must not alter options, thus extending a fresh object... 90 | $.cookie(key, '', $.extend({}, options, { expires: -1 })); 91 | return true; 92 | } 93 | return false; 94 | }; 95 | 96 | })); 97 | -------------------------------------------------------------------------------- /Documentation/HTML/js/jquery.textchange.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery TextChange Plugin 3 | * http://www.zurb.com/playground/jquery-text-change-custom-event 4 | * 5 | * Copyright 2010, ZURB 6 | * Released under the MIT License 7 | */ 8 | (function(a){a.event.special.textchange={setup:function(){a(this).data("lastValue",this.contentEditable==="true"?a(this).html():a(this).val());a(this).bind("keyup.textchange",a.event.special.textchange.handler);a(this).bind("cut.textchange paste.textchange input.textchange",a.event.special.textchange.delayedHandler)},teardown:function(){a(this).unbind(".textchange")},handler:function(){a.event.special.textchange.triggerIfChanged(a(this))},delayedHandler:function(){var c=a(this);setTimeout(function(){a.event.special.textchange.triggerIfChanged(c)}, 9 | 25)},triggerIfChanged:function(a){var b=a[0].contentEditable==="true"?a.html():a.val();b!==a.data("lastValue")&&(a.trigger("textchange",[a.data("lastValue")]),a.data("lastValue",b))}};a.event.special.hastext={setup:function(){a(this).bind("textchange",a.event.special.hastext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.hastext.handler)},handler:function(c,b){b===""&&b!==a(this).val()&&a(this).trigger("hastext")}};a.event.special.notext={setup:function(){a(this).bind("textchange", 10 | a.event.special.notext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.notext.handler)},handler:function(c,b){a(this).val()===""&&a(this).val()!==b&&a(this).trigger("notext")}}})(jQuery); -------------------------------------------------------------------------------- /Documentation/HTML/neTabControl.TneTabControl_Constructors.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | TneTabControl Constructors 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

TneTabControl Constructors

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
Create(TComponent)

Initializes a new instance of the TneTabControl class.

Destroy

Represents the destructor of the TneTabControl class.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabControl_Classes.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | neTabControl Classes 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

neTabControl Classes

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
TneTabControl

This is the tab control

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabControl_Routines.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | neTabControl Routines 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

neTabControl Routines

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
GetTabControl(TClass)

Represents method GetTabControl(TClass).

Register

Represents method Register.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabGeneralUtils_Routines.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | neTabGeneralUtils Routines 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

neTabGeneralUtils Routines

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
FindParentForm(TFmxObject)

Represents method FindParentForm(TFmxObject).

LoadImageFromResources(string,TBitmap)

Represents method LoadImageFromResources(string,TBitmap).

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabItem.TneCloseImageControl_Fields.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | TneCloseImageControl Fields 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

TneCloseImageControl Fields

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
fProvider

Represents field fProvider.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabItem.TneCloseImageControl_Properties.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | TneCloseImageControl Properties 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

TneCloseImageControl Properties

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
CloseImage

Represents property CloseImage.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabItem.TneControl_Fields.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | TneControl Fields 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

TneControl Fields

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
fControl

Represents field fControl.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabItem.TneControl_Properties.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | TneControl Properties 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

TneControl Properties

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
InnerControl

Represents property InnerControl.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabItem.TneTabItem_Constructors.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | TneTabItem Constructors 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

TneTabItem Constructors

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
Create(TComponent)

Initializes a new instance of the TneTabItem class.

Destroy

Represents the destructor of the TneTabItem class.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabItem_Enumerations.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | neTabItem Enumerations 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

neTabItem Enumerations

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
TCloseImagesType

Represents type TCloseImagesType.

TMouseState

Represents type TMouseState.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabItem_Routines.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | neTabItem Routines 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

neTabItem Routines

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
register

Represents method register.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabTypes.THistoryClass_Constructors.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | THistoryClass Constructors 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

THistoryClass Constructors

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
Create

Initializes a new instance of the THistoryClass class.

Destroy

Represents the destructor of the THistoryClass class.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabTypes.THistoryClass_Fields.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | THistoryClass Fields 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

THistoryClass Fields

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
fHistoryList

Represents field fHistoryList.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabTypes.TneHintTimer_Fields.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | TneHintTimer Fields 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

TneHintTimer Fields

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
MousePoint

Represents field MousePoint.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabTypes.TneTimer_Fields.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | TneTimer Fields 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

TneTimer Fields

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
Action

Represents field Action.

Value

Represents field Value.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabTypes_Enumerations.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | neTabTypes Enumerations 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

neTabTypes Enumerations

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
TExportElement

Defines the elements of a tab item to be exported with the SaveTabs procedure

TShowTabAnimation

Represents type TShowTabAnimation.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/neTabTypes_Types.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | neTabTypes Types 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |

neTabTypes Types

54 |
55 |
56 |
57 | 67 |
68 |
 NameDescription
TExportElements

Defines the set of elements to be exported when SaveTabs is called

TSetOfStrings

Represents an array of the type.

Top
69 |
70 |
71 |
72 |
73 |
74 |
75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Documentation/HTML/toc.htm: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Table of Contents 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 51 |
52 |
    53 |
54 |
55 | 56 |
57 |
    58 |
59 |
60 | 61 |
62 |
Look for:
63 | 64 |
65 |
66 | 67 | 68 | -------------------------------------------------------------------------------- /Images/Add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Images/Add.png -------------------------------------------------------------------------------- /Images/CloseHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Images/CloseHover.png -------------------------------------------------------------------------------- /Images/CloseNormal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Images/CloseNormal.png -------------------------------------------------------------------------------- /Images/ClosePressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Images/ClosePressed.png -------------------------------------------------------------------------------- /Images/bookmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Images/bookmark.png -------------------------------------------------------------------------------- /Installer/CompileSource.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem 1:The directory to execute msbuild (project directory) 3 | set runDir=%1 4 | 5 | rem 2:The full path of rsvars.bat 6 | set rsvarsDir=%2 7 | 8 | rem 3:The project file 9 | set projFile=%3 10 | 11 | rem 4:The compile platform 12 | set currPlatform=%4 13 | 14 | rem 5:BPL output 15 | set BPLDir=%5 16 | echo %BPLDir% 17 | 18 | rem 6:DCU output 19 | set DCUDir=%6 20 | echo %DCUDir% 21 | 22 | 23 | call %rsvarsDir% 24 | set FullProjPath=%runDir%\%projFile% 25 | echo %FullProjPath% 26 | 27 | set FullDCUPathDebug=%DCUDir%\%currPlatform%\Debug 28 | echo FullDCUPathDebug 29 | 30 | set FullDCUPathRelease=%DCUDir%\%currPlatform%\Release 31 | echo FullDCUPathRelease 32 | 33 | %FrameworkDir%\msbuild.exe %FullProjPath% /p:platform=%currPlatform% /p:config=Debug /p:DCC_BPLOutput=%BPLDir% /p:DCC_DCUOutput=%FullDCUPathDebug% 34 | %FrameworkDir%\msbuild.exe %FullProjPath% /p:platform=%currPlatform% /p:config=Release /p:DCC_BPLOutput=%BPLDir% /p:DCC_DCUOutput=%FullDCUPathRelease% -------------------------------------------------------------------------------- /Installer/Output/neTabControl-1.4.0-setup.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Installer/Output/neTabControl-1.4.0-setup.exe -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 John Kouraklis 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # neTabControl 2 | neTabControl is a FireMonkey control for Delphi. It builds on the native TabControl and adds a number of features. 3 | 4 | > **Important note:** Starting from v.1.0.0, neTabControl is not a simple subclass of TTabControl as in previous versions. If you use previous versions you need to update the control in the forms you're using it 5 | 6 | #Video Demonstration 7 | Follow this link for a quick demo: [neTabControl Video](https://youtu.be/1OxMN-HeWhk "neTabControl Video") 8 | 9 | 10 | # Design 11 | The control uses three elements: 12 | 13 | 1. A Tag 14 | 2. A TneTabItem: A subclass of TTabItem 15 | 3. A Frame 16 | 17 | The neTabControl holds several TabItems, which all inherit from TneTabItem and shows a TFrame for each TneTabItem. 18 | 19 | For more details about the Architecture of neTabControl, check the wiki. 20 | 21 | 22 | # How To Use 23 | 24 | Build and install the package: Open the Package file and install the component. Then you can drag and drop it in any forms 25 | 26 | **Note:** The actual components of each tab need to be embedded in a Frame and then attached to the tabControl 27 | 28 | 29 | # FMX Style 30 | Starting from version 1.0.0 neTabControl doesn't use styles to embed the close image. 31 | 32 | 33 | # Highlights 34 | 35 | * Tab items are linked to tags instead of indices. 36 | For example you can write: SetActiveTab("Welcome Screen") or DeleteTab('Report Summary') 37 | * TabItems have close icon 38 | * TabItems can embed any control that descends from TControl (eg, image, progress bar, etc.) [v.1.0.0] 39 | * Ability to add controls before or after the tab items (eg. Add button, etc.) [v.1.0.0] 40 | * Style-indenendent tab item control. You can use any pre-existing style file without any customisation. neTabControl embeds the close image and the other control automatically [v.1.0.0] 41 | * Customisable Pop-up menu 42 | * Procedure to export the list of open tabs in order to implement load/save workspace feature 43 | 44 | 45 | # Screenshots 46 | 47 | Customisable Tab Bar 48 | 49 | [![](https://github.com/jkour/neTabControl/blob/master/Screenshots/TabBar.png)](https://github.com/jkour/neTabControl/blob/master/Screenshots/TabBar.png) 50 | 51 | Close Image On Mouse Hover 52 | 53 | [![](https://github.com/jkour/neTabControl/blob/master/Screenshots/CloseImageOnHover.png)](https://github.com/jkour/neTabControl/blob/master/Screenshots/CloseImageOnHover.png) 54 | 55 | Customisable Right-click menu 56 | 57 | [![](https://github.com/jkour/neTabControl/blob/master/Screenshots/Right-Click.png)](https://github.com/jkour/neTabControl/blob/master/Screenshots/Right-Click.png) 58 | 59 | Customisable controls before and after the tab items 60 | 61 | [![](https://github.com/jkour/neTabControl/blob/master/Screenshots/ButtonAtTheTabbar.png)](https://github.com/jkour/neTabControl/blob/master/Screenshots/ButtonAtTheTabbar.png) 62 | 63 | Vertical position of the tab items 64 | 65 | [![](https://github.com/jkour/neTabControl/blob/master/Screenshots/PositionLeft.png)](https://github.com/jkour/neTabControl/blob/master/Screenshots/PositionLeft.png) 66 | 67 | Control embedded in tab items (Badge) 68 | 69 | [![](https://github.com/jkour/neTabControl/blob/master/Screenshots/Control3.png)](https://github.com/jkour/neTabControl/blob/master/Screenshots/Control3.png) 70 | 71 | Control embedded in tab items (Progress Bar) 72 | 73 | [![](https://github.com/jkour/neTabControl/blob/master/Screenshots/Control4.png)](https://github.com/jkour/neTabControl/blob/master/Screenshots/Control4.png) 74 | 75 | Styles 76 | 77 | [![](https://github.com/jkour/neTabControl/blob/master/Screenshots/Style1-Air.png)](https://github.com/jkour/neTabControl/blob/master/Screenshots/Style1-Air.png) 78 | 79 | [![](https://github.com/jkour/neTabControl/blob/master/Screenshots/Style2-MetropolisUIBlack.png)](https://github.com/jkour/neTabControl/blob/master/Screenshots/Style2-MetropolisUIBlack.png) 80 | 81 | # Platforms 82 | 83 | This is a FireMonkey component. It should work on any platform but I have tested only on Win32, Win64 and MacOSX. 84 | 85 | #Documentation 86 | There is documentation about the classes, the methods and properties. Please check the "Documentation" folder. 87 | 88 | 89 | # Known Issues 90 | Check the wiki [here](https://github.com/jkour/neTabControl/wiki#known-issues "here"). 91 | 92 | 93 | #Bugs, Suggestions, Comments and General Contact 94 | I hope you find the component useful. If you have any comments or ideas, have spotted any bugs or have any suggestions about changes to the code use the "Issues" tab on github or drop me an email at j_kour@hotmail.com 95 | 96 | Thanks! 97 | 98 | John 99 | 100 | -------------------------------------------------------------------------------- /ReleaseHistory.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/ReleaseHistory.docx -------------------------------------------------------------------------------- /Screenshots/Architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/Architecture.png -------------------------------------------------------------------------------- /Screenshots/ButtonAtTheTabbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/ButtonAtTheTabbar.png -------------------------------------------------------------------------------- /Screenshots/CloseImageOnHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/CloseImageOnHover.png -------------------------------------------------------------------------------- /Screenshots/Control1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/Control1.png -------------------------------------------------------------------------------- /Screenshots/Control2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/Control2.png -------------------------------------------------------------------------------- /Screenshots/Control3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/Control3.png -------------------------------------------------------------------------------- /Screenshots/Control4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/Control4.png -------------------------------------------------------------------------------- /Screenshots/PositionLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/PositionLeft.png -------------------------------------------------------------------------------- /Screenshots/PreviewAsHint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/PreviewAsHint.png -------------------------------------------------------------------------------- /Screenshots/Right-Click.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/Right-Click.png -------------------------------------------------------------------------------- /Screenshots/Style1-Air.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/Style1-Air.png -------------------------------------------------------------------------------- /Screenshots/Style2-MetropolisUIBlack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/Style2-MetropolisUIBlack.png -------------------------------------------------------------------------------- /Screenshots/TabBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/TabBar.png -------------------------------------------------------------------------------- /Screenshots/TitleAsHint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/Screenshots/TitleAsHint.png -------------------------------------------------------------------------------- /SourceCode/Package/neTabControl.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/SourceCode/Package/neTabControl.pas -------------------------------------------------------------------------------- /SourceCode/Package/neTabControlPackage.dpk: -------------------------------------------------------------------------------- 1 | package neTabControlPackage; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'NusEnvision Firemonkey TabControl'} 29 | {$IMPLICITBUILD ON} 30 | 31 | requires 32 | rtl, 33 | fmx; 34 | 35 | contains 36 | neTabControl in 'neTabControl.pas', 37 | neTabGeneralUtils in 'neTabGeneralUtils.pas', 38 | neTabItem in 'neTabItem.pas', 39 | neTabTypes in 'neTabTypes.pas', 40 | Model.Provider in '..\SupportCode\Model.Provider.pas', 41 | Model.Subscriber in '..\SupportCode\Model.Subscriber.pas', 42 | Model.IntActions in '..\SupportCode\Model.IntActions.pas', 43 | Model.Interf in '..\SupportCode\Model.Interf.pas'; 44 | 45 | end. 46 | -------------------------------------------------------------------------------- /SourceCode/Package/neTabControlVersionInfo.inc: -------------------------------------------------------------------------------- 1 | //*************************************************************** 2 | // 3 | // Version History 4 | // 5 | // 6 | // 1.4.1 - 21/11/2017 7 | // 8 | //** Improvement 9 | // 10 | // * Fix an access violation with one tab in the control 11 | // * Fix memory leaks 12 | // 13 | // 1.4.0 - 12/10/2016 14 | // 15 | //** New Features 16 | // 17 | // * Add Animation to tabs 18 | // * Change the location of version info 19 | // 20 | // 1.3.1 - 02/10/2016 21 | // 22 | //** Improvement 23 | // 24 | // * Wrong arguments to AddTab raise exceptions with 25 | // information message 26 | // 27 | // 1.3.0 - 24/09/2016 28 | // 29 | //** New Features 30 | // 31 | // * ControlAlignment, CaptionAlignment, CloseAlignment properties added 32 | // * Access to the text element of a TabItem 33 | // * TabPosition property added (see below for the renaming of the old 34 | // TabPosition property) 35 | // 36 | //** Improvement 37 | // 38 | // * The TabPosition property in previous releases is renamed to 39 | // TabOrientation 40 | // 41 | // 1.2.0 - 21/08/2016 42 | // 43 | //** Bug 44 | // * Access Violation when the mouse hovered over close image on MacOS 45 | // and Win64 (This fixed a known issue in 1.1.1) 46 | // * fActiveTab was never set 47 | // 48 | //** New Features 49 | // 50 | // * GetFrame method added 51 | // * OnBeforeCloseAllItems, OnAfterCloseAllItems, OnBeforeCloseOtherItems, 52 | // OnAfterCloseOtherItems events added 53 | // * DeleteAllTabs procedure added 54 | // * Tabs[index] property added 55 | 56 | // 1.1.1 - 09/07/2016 57 | // 58 | //** Improvement 59 | // 60 | // * Observer framework renamed 61 | // 62 | // 1.1.0 - 09/07/2016 63 | // 64 | //** Improvement 65 | // 66 | // * Installer recognises Delphi installation and targets 67 | // 68 | // 1.0.0 - 15/06/2016 69 | // 70 | // Note: This is a code-break update. The neTabControl is not based solely 71 | // on the TabControl as in the previous versions 72 | // The component is rewritten from scratch to provide new features 73 | // 74 | //** New Features 75 | // * Option to place the tab items at the top and the left side of the control 76 | // * Option to add buttons before or after the tab items 77 | // * Style-independent tab items: The tab items don't need a modified style 78 | // to hold the close image and the other controls 79 | // * You can embed any type of control (TControl descendent) in a tabitem 80 | // and not only an image as in previous versions 81 | // 82 | // 0.3.0 - 28/03/2016 83 | // 84 | //** New Features 85 | // * DeleteAllTabs procedure added. 86 | // * Method to find the parent neTabItem of a frame 87 | // * TagValue property added to neTabItem 88 | // * ActiveTag property Added 89 | // * neTabItem has an Identifier property 90 | // * Add ability to save tabs 91 | // 92 | //** Improvement 93 | // * Code clean up 94 | // * Title of Tab and Preview appear as Hint 95 | // * Spelling mistake: MixTabWidth instead of MinTabWidth 96 | // 97 | //**Bug 98 | // * Before/After popup menus didn't trigger OnClick events 99 | // 100 | // 101 | // 0.2.0 - 05/03/2016 102 | // 103 | //** Changes 104 | // * Change license to MIT 105 | // * ShowHint disabled 106 | // * Check for duplicate Tag name added 107 | // * Adjust Width improvement 108 | // 109 | //** Bug 110 | // * Access Violation on MouseOverTabItem when the control is 111 | // host in other control (eg. a Frame) 112 | // * AdjustWidth returns 0 when the control is within two 113 | // frames 114 | // 115 | //** New Feature 116 | // * Option to disable right-click menu added 117 | // * MinWidth property added 118 | // * Normal TTabItem can be added 119 | // * Add "Close all the rest" option in popup menu 120 | // 121 | // 122 | // 0.1.0 - Initial Version (20/02/2016) 123 | 124 | 125 | {$HINTS OFF} 126 | const 127 | MajorVersion = '1'; 128 | MinorVersion = '4'; 129 | BugVersion = '1'; 130 | {$HINTS ON} 131 | -------------------------------------------------------------------------------- /SourceCode/Package/neTabGeneralUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/SourceCode/Package/neTabGeneralUtils.pas -------------------------------------------------------------------------------- /SourceCode/Package/neTabItem.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/SourceCode/Package/neTabItem.pas -------------------------------------------------------------------------------- /SourceCode/Package/neTabTypes.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkour/neTabControl/ba3a4478fbf90e1516df61a9ffec89cda238a7dc/SourceCode/Package/neTabTypes.pas -------------------------------------------------------------------------------- /SourceCode/SupportCode/Model.IntActions.pas: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// This unit defines the actions that can be communicated 4 | /// 5 | /// 6 | /// Use 7 | /// 8 | unit Model.IntActions; 9 | 10 | interface 11 | 12 | type 13 | 14 | /// 15 | /// An enumerator describing the actions that can be transmitted to 16 | /// subscribers 17 | /// 18 | /// 19 | /// Add more options in this type to meet the needs in your application 20 | /// 21 | TIntAction = ( 22 | /// 23 | /// This action is the default. It may lead to no action 24 | /// 25 | intactDefault, 26 | intactDeleteTab, 27 | intactShowPopupMenu, 28 | intactUpdateTabHeight, 29 | intactMouseEnter, 30 | intactMouseLeave, 31 | intactMouseUp, 32 | intactMouseDown, 33 | intactShowHint, 34 | intactHideHint 35 | ); 36 | 37 | {$REGION 'The set of actions to be passed to the Observers'} 38 | /// 39 | /// The set of actions to be passed to the Observers 40 | /// 41 | /// 42 | /// NotifySubscribers([UpdateListBox, UpdateLabel]) 43 | /// 44 | /// 45 | {$ENDREGION} 46 | TIntActions = set of TIntAction; 47 | 48 | implementation 49 | 50 | end. 51 | -------------------------------------------------------------------------------- /SourceCode/SupportCode/Model.Interf.pas: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// This unit defines the interfaces for the Provider-Subscriber model 4 | /// 5 | unit Model.Interf; 6 | 7 | interface 8 | 9 | uses 10 | Model.IntActions; 11 | 12 | type 13 | {$REGION 'This interface is used to pass information between the provider and the subscriber.'} 14 | /// 15 | /// This interface is used to pass information between the provider and the 16 | /// subscriber. 17 | /// 18 | {$ENDREGION} 19 | INotification = interface 20 | ['{433A448E-9943-40AE-BECB-B8FF653C9CC0}'] 21 | end; 22 | 23 | /// 24 | /// This type is used to pass the correct UpdateSubscriber method to the 25 | /// Subscriber interface. 26 | /// 27 | TUpdateSubscriberMethod = procedure (const action: TIntActions) of object; 28 | TUpdateSubscriberInterfaceMethod = procedure (const notificationClass: INotification) of object; 29 | 30 | /// 31 | /// This interface is used by the Subscribers 32 | /// 33 | ISubscriber = interface 34 | ['{955BF992-F4FA-4141-9C0F-04600C582C00}'] 35 | /// 36 | /// This method is assigned the UpdateSubscriber methods from the class 37 | /// of each subscriber. 38 | /// 39 | /// 40 | /// 41 | /// 42 | /// 43 | /// TInetrfaceActions 44 | /// 45 | procedure UpdateSubscriber (action: TIntActions); overload; 46 | procedure UpdateSubscriber (notificationClass: INotification); overload; 47 | /// 48 | /// Use this method to assign a method to the subscriber. 49 | /// 50 | procedure SetUpdateSubscriberMethod (newMethod: TUpdateSubscriberMethod); overload; 51 | procedure SetUpdateSubscriberMethod (newNotificationClass: TUpdateSubscriberInterfaceMethod); overload; 52 | end; 53 | 54 | /// 55 | /// This interface is used by the provider 56 | /// 57 | IProvider = interface 58 | ['{DD326AE1-5049-43AA-9215-DF53DB5FC958}'] 59 | /// 60 | /// This method is called by the subscriber in order to subscribe to the 61 | /// Provider 62 | /// 63 | /// 64 | /// The subscriber 65 | /// 66 | /// 67 | /// ISubscriber 68 | /// 69 | procedure Subscribe(tmpSubscriber: ISubscriber); 70 | /// 71 | /// This method is called from a subscriber to unsubscribe from a 72 | /// provider 73 | /// 74 | /// 75 | /// The subscriber 76 | /// 77 | /// 78 | /// ISubscriber 79 | /// 80 | procedure Unsubscribe(tmpSubscriber: ISubscriber); 81 | /// 82 | /// This method is called from the Provider to communicate with the 83 | /// subscribers 84 | /// 85 | /// 86 | /// The action the provider is sending to the subscriber. The default is 87 | /// Default
88 | /// 89 | /// 90 | /// 91 | /// 92 | procedure NotifySubscribers (action: TIntActions); overload; 93 | procedure NotifySubscribers (notificationClass: INotification); overload; 94 | end; 95 | 96 | 97 | 98 | implementation 99 | 100 | end. 101 | -------------------------------------------------------------------------------- /SourceCode/SupportCode/Model.Provider.pas: -------------------------------------------------------------------------------- 1 | /// 2 | unit Model.Provider; 3 | 4 | interface 5 | 6 | uses Model.IntActions, Model.Interf, 7 | System.Generics.Collections; 8 | 9 | function ProviderClass: IProvider; 10 | 11 | implementation 12 | 13 | type 14 | TProvider = class (TInterfacedObject, IProvider) 15 | private 16 | /// 17 | /// This list keeps track of the subscribers the provider is managing 18 | /// 19 | /// 20 | /// Isubscriber 21 | /// 22 | fSubscriberList: TList; 23 | public 24 | procedure Subscribe(tmpSubscriber: ISubscriber); 25 | procedure Unsubscribe(tmpSubscriber: ISubscriber); 26 | /// 27 | /// 28 | /// 29 | /// 30 | /// You must always provide action options whenever you use the 31 | /// NotifySubscribers. See Examples 32 | /// 33 | /// 34 | /// 35 | /// NotifySubscribers([]); 36 | /// 37 | /// 38 | /// NotifySubscribers([Default]); 39 | /// 40 | /// 41 | procedure NotifySubscribers (action: TIntActions); overload; 42 | procedure NotifySubscribers (notificationClass: INotification); overload; 43 | 44 | constructor Create; 45 | destructor Destroy; override; 46 | end; 47 | 48 | function ProviderClass: IProvider; 49 | begin 50 | result:=TProvider.Create; 51 | end; 52 | 53 | { TProSuProvider } 54 | 55 | constructor TProvider.Create; 56 | begin 57 | inherited; 58 | fSubscriberList:=TList.Create; 59 | end; 60 | 61 | destructor TProvider.Destroy; 62 | var 63 | iTemp: ISubscriber; 64 | begin 65 | for itemp in fSubscriberList do 66 | Unsubscribe(iTemp); 67 | fSubscriberList.Free; 68 | inherited; 69 | end; 70 | 71 | procedure TProvider.NotifySubscribers( 72 | notificationClass: INotification); 73 | var 74 | tmpSubscriber: ISubscriber; 75 | begin 76 | for tmpSubscriber in fSubscriberList do 77 | tmpSubscriber.UpdateSubscriber(notificationClass); 78 | end; 79 | 80 | procedure TProvider.NotifySubscribers(action: TIntActions); 81 | var 82 | tmpSubscriber: ISubscriber; 83 | begin 84 | for tmpSubscriber in fSubscriberList do 85 | tmpSubscriber.UpdateSubscriber(action); 86 | end; 87 | 88 | procedure TProvider.Subscribe(tmpSubscriber: ISubscriber); 89 | begin 90 | fSubscriberList.Add(tmpSubscriber); 91 | end; 92 | 93 | procedure TProvider.Unsubscribe(tmpSubscriber: ISubscriber); 94 | begin 95 | fSubscriberList.Remove(tmpSubscriber); 96 | end; 97 | 98 | end. 99 | -------------------------------------------------------------------------------- /SourceCode/SupportCode/Model.Subscriber.pas: -------------------------------------------------------------------------------- 1 | /// 2 | unit Model.Subscriber; 3 | 4 | interface 5 | 6 | uses Model.IntActions, Model.Interf; 7 | 8 | function SubscriberClass: ISubscriber; 9 | 10 | implementation 11 | 12 | type 13 | TSubscriber = class (TInterfacedObject, ISubscriber) 14 | private 15 | fUpdateMethod: TUpdateSubscriberMethod; 16 | fUpdateNotificationMethod: TUpdateSubscriberInterfaceMethod; 17 | public 18 | /// 19 | /// Implement this method in the Subscriber class (interface) 20 | /// 21 | /// 22 | /// 23 | /// 24 | procedure UpdateSubscriber (action: TIntActions); overload; 25 | procedure UpdateSubscriber (notificationClass: INotification); overload; 26 | procedure SetUpdateSubscriberMethod (newMethod: TUpdateSubscriberMethod); overload; 27 | procedure SetUpdateSubscriberMethod (newNotificationClass: TUpdateSubscriberInterfaceMethod); overload; 28 | end; 29 | 30 | 31 | { TProSuSubscriber } 32 | function SubscriberClass:ISubscriber; 33 | begin 34 | result:=TSubscriber.Create; 35 | end; 36 | 37 | 38 | procedure TSubscriber.SetUpdateSubscriberMethod( 39 | newMethod: TUpdateSubscriberMethod); 40 | begin 41 | fUpdateMethod:=newMethod; 42 | end; 43 | 44 | procedure TSubscriber.UpdateSubscriber(action: TIntActions); 45 | begin 46 | if Assigned(fUpdateMethod) then fUpdateMethod(action); 47 | end; 48 | 49 | procedure TSubscriber.SetUpdateSubscriberMethod( 50 | newNotificationClass: TUpdateSubscriberInterfaceMethod); 51 | begin 52 | fUpdateNotificationMethod:=newNotificationClass; 53 | end; 54 | 55 | procedure TSubscriber.UpdateSubscriber( 56 | notificationClass: INotification); 57 | begin 58 | if Assigned(fUpdateNotificationMethod) and Assigned(notificationClass) then 59 | fUpdateNotificationMethod(notificationClass); 60 | end; 61 | 62 | end. 63 | -------------------------------------------------------------------------------- /SourceCode/TabControlDesignerProject.dpr: -------------------------------------------------------------------------------- 1 | program TabControlDesignerProject; 2 | 3 | uses 4 | System.StartUpCopy, 5 | FMX.Forms, 6 | TabControlDesigner in 'TabControlDesigner.pas' {Form3}; 7 | 8 | {$R *.res} 9 | 10 | begin 11 | Application.Initialize; 12 | Application.CreateForm(TForm3, Form3); 13 | Application.Run; 14 | end. 15 | -------------------------------------------------------------------------------- /SourceCode/TabControlProjectGroup.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {2223EF71-DC84-4A53-83E8-31E5EA49D1B4} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /SourceCode/neTabControlProjectGroup.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {2223EF71-DC84-4A53-83E8-31E5EA49D1B4} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | --------------------------------------------------------------------------------