Template:CWSFUNCS: Difference between revisions
Jump to navigation
Jump to search
AriosJentu (talk | contribs) No edit summary |
AriosJentu (talk | contribs) No edit summary |
||
(40 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Resource Wiki with ''content'' located here: [[Resource:CustomWidgets]] | |||
=== '''Custom Widgets''' === | === '''Custom Widgets''' === | ||
This methods working for all elements except ''CustomDialogs'' and ''CustomTooltips'' | This methods working for all elements except ''CustomDialogs'' and ''CustomTooltips'' | ||
Line 8: | Line 9: | ||
*[[CustomWidget:setEnabled]] | *[[CustomWidget:setEnabled]] | ||
*[[CustomWidget:setColorScheme]] | *[[CustomWidget:setColorScheme]] | ||
*[[CustomWidget:setFont]] | |||
*[[CustomWidget:setFontSize]] | |||
*[[CustomWidget:setSystemFont]] | |||
==== Get Functions ==== | ==== Get Functions ==== | ||
*[[CustomWidget:getPosition]] | *[[CustomWidget:getPosition]] | ||
*[[CustomWidget:getSize]] | *[[CustomWidget:getSize]] | ||
*[[CustomWidget:getRealSize]] | |||
*[[CustomWidget:getVisible]] | *[[CustomWidget:getVisible]] | ||
*[[CustomWidget:getEnabled]] | *[[CustomWidget:getEnabled]] | ||
*[[CustomWidget:getColorScheme]] | *[[CustomWidget:getColorScheme]] | ||
*[[CustomWidget:getFont]] | |||
*[[CustomWidget:getFontSize]] | |||
*[[getCWType]] | |||
==== Event Functions ==== | ==== Event Functions ==== | ||
Line 20: | Line 28: | ||
*[[CustomWidget:moveToBack]] | *[[CustomWidget:moveToBack]] | ||
*[[CustomWidget:addEvent]] | *[[CustomWidget:addEvent]] | ||
*[[CustomWidget:removeEvent]] | |||
*[[CustomWidget:destroy]] | |||
*[[proceedColor]] | |||
Line 31: | Line 42: | ||
*[[CustomWindow:setText]] | *[[CustomWindow:setText]] | ||
*[[CustomWindow:setMovable]] | *[[CustomWindow:setMovable]] | ||
*[[CustomWindow:setSizable]] | |||
*[[CustomWindow:setCloseEnabled]] | *[[CustomWindow:setCloseEnabled]] | ||
*[[CustomWindow:setSideBarLength]] | |||
*[[CustomWindow:setSideBarPosition]] | |||
*[[CustomWindow:setMinimalWidth]] | |||
*[[CustomWindow:setMinimalHeight]] | |||
*[[CustomWindow:setMinimalSize]] | |||
*[[CustomWindow:setMaximalWidth]] | |||
*[[CustomWindow:setMaximalHeight]] | |||
*[[CustomWindow:setMaximalSize]] | |||
==== Get Functions ==== | ==== Get Functions ==== | ||
Line 37: | Line 57: | ||
*[[CustomWindow:getText]] | *[[CustomWindow:getText]] | ||
*[[CustomWindow:getMovable]] | *[[CustomWindow:getMovable]] | ||
*[[CustomWindow:getSizable]] | |||
*[[CustomWindow:getCloseEnabled]] | *[[CustomWindow:getCloseEnabled]] | ||
*[[CustomWindow: | *[[CustomWindow:getSideBarLength]] | ||
*[[CustomWindow: | *[[CustomWindow:getSideBarPosition]] | ||
*[[CustomWindow: | *[[CustomWindow:getMinimalWidth]] | ||
*[[CustomWindow:getMinimalHeight]] | |||
*[[CustomWindow:getMinimalSize]] | |||
*[[CustomWindow:getMaximalWidth]] | |||
*[[CustomWindow:getMaximalHeight]] | |||
*[[CustomWindow:getMaximalSize]] | |||
==== Event Functions ==== | ==== Event Functions ==== | ||
Line 46: | Line 72: | ||
*[[CustomWindow:close]] | *[[CustomWindow:close]] | ||
*[[CustomWindow:addElement]] | *[[CustomWindow:addElement]] | ||
*[[CustomWindow: | *[[CustomWindow:addElements]] | ||
*[[CustomWindow:showDialog]] | *[[CustomWindow:showDialog]] | ||
*[[CustomWindow:showBar]] | *[[CustomWindow:showBar]] | ||
*[[CustomWindow:getMainElement]] | |||
*[[CustomWindow:getHeader]] | |||
*[[CustomWindow:getDialog]] | |||
Line 62: | Line 91: | ||
==== Get Functions ==== | ==== Get Functions ==== | ||
*[[CustomButton:getText]] | *[[CustomButton:getText]] | ||
*[[CustomButton:getImage]] | |||
==== Event Functions ==== | |||
*[[CustomButton:getMainElement]] | |||
Line 74: | Line 107: | ||
==== Get Functions ==== | ==== Get Functions ==== | ||
*[[CustomProgressBar:getProgress]] | *[[CustomProgressBar:getProgress]] | ||
==== Event Functions ==== | |||
*[[CustomProgressBar:getMainElement]] | |||
Line 93: | Line 129: | ||
=== '''Custom Edit Boxes''' === | === '''Custom Edit Boxes''' === | ||
All functions, what has mark ''CustomEditBox'' available for ''CustomEdit'', ''CustomMemo'' and '' | All functions, what has mark ''CustomEditBox'' available for ''CustomEdit'', ''CustomMemo'' and ''CustomSpinner''. | ||
==== Create Functions ==== | ==== Create Functions ==== | ||
*[[CustomEdit.create]] | *[[CustomEdit.create]] | ||
*[[CustomMemo.create]] | *[[CustomMemo.create]] | ||
*[[ | *[[CustomSpinner.create]] | ||
==== Set Functions ==== | ==== Set Functions ==== | ||
Line 104: | Line 140: | ||
*[[CustomEditBox:setText]] | *[[CustomEditBox:setText]] | ||
*[[CustomEditBox:setCaretIndex]] | *[[CustomEditBox:setCaretIndex]] | ||
*[[CustomEditBox:setSidesColor]] | |||
*[[CustomEdit:setMasked]] | *[[CustomEdit:setMasked]] | ||
*[[CustomEdit:setMaxLength]] | *[[CustomEdit:setMaxLength]] | ||
*[[ | *[[CustomSpinner:setMinimal]] | ||
*[[ | *[[CustomSpinner:setMaximal]] | ||
*[[ | *[[CustomSpinner:setStepSize]] | ||
==== Get Functions ==== | ==== Get Functions ==== | ||
Line 116: | Line 153: | ||
*[[CustomEditBox:getText]] | *[[CustomEditBox:getText]] | ||
*[[CustomEditBox:getCaretIndex]] | *[[CustomEditBox:getCaretIndex]] | ||
*[[CustomEditBox:isOnSide]] | |||
*[[CustomEditBox:getSidesColor]] | |||
*[[CustomEdit:getMasked]] | *[[CustomEdit:getMasked]] | ||
*[[CustomEdit:getMaxLength]] | *[[CustomEdit:getMaxLength]] | ||
*[[ | *[[CustomSpinner:getMinimal]] | ||
*[[ | *[[CustomSpinner:getMaximal]] | ||
*[[ | *[[CustomSpinner:getStepSize]] | ||
==== Event Functions ==== | ==== Event Functions ==== | ||
Line 140: | Line 179: | ||
*[[CustomCheckBox:getText]] | *[[CustomCheckBox:getText]] | ||
*[[CustomCheckBox:getChecked]] | *[[CustomCheckBox:getChecked]] | ||
==== Event Functions ==== | |||
*[[CustomCheckBox:getMainElement]] | |||
Line 149: | Line 191: | ||
==== Set Functions ==== | ==== Set Functions ==== | ||
*[[CustomComboBox:setSelectedItem]] | *[[CustomComboBox:setSelectedItem]] | ||
*[[CustomComboBox:setItemText]] | |||
*[[CustomComboBox:setMaxHeight]] | *[[CustomComboBox:setMaxHeight]] | ||
==== Get Functions ==== | ==== Get Functions ==== | ||
*[[CustomComboBox:getSelectedItem]] | *[[CustomComboBox:getSelectedItem]] | ||
*[[CustomComboBox:getItemText]] | |||
*[[CustomComboBox:getMaxHeight]] | *[[CustomComboBox:getMaxHeight]] | ||
*[[CustomComboBox:getItemsCount]] | |||
*[[CustomComboBox:getItems]] | |||
==== Event Functions ==== | ==== Event Functions ==== | ||
*[[CustomComboBox:addItem]] | *[[CustomComboBox:addItem]] | ||
*[[CustomComboBox:removeItem]] | *[[CustomComboBox:removeItem]] | ||
*[[CustomComboBox:clear]] | |||
*[[CustomComboBox:getMainElement]] | |||
Line 183: | Line 231: | ||
==== Event Functions ==== | ==== Event Functions ==== | ||
*[[CustomTabPanel:addTab]] | *[[CustomTabPanel:addTab]] | ||
*[[CustomTabPanel:removeTab]] | |||
*[[CustomTabPanel:clearTabs]] | |||
*[[CustomTabPanel:getMainElement]] | |||
Line 198: | Line 249: | ||
*[[CustomLabel:setHorizontalAlign]] | *[[CustomLabel:setHorizontalAlign]] | ||
*[[CustomLabel:setAlign]] | *[[CustomLabel:setAlign]] | ||
==== Get Functions ==== | ==== Get Functions ==== | ||
*[[CustomLabel:getText]] | *[[CustomLabel:getText]] | ||
*[[CustomLabel:getColor]] | *[[CustomLabel:getColor]] | ||
*[[CustomLabel:getVerticalAlign]] | |||
*[[CustomLabel:getHorizontalAlign]] | |||
*[[CustomLabel:isSchematicalColor]] | |||
*[[CustomLabel:isHoverable]] | |||
==== Event Functions ==== | |||
*[[CustomLabel:getMainElement]] | |||
*[[CustomLabel:addElement]] | |||
*[[CustomLabel:removeElement]] | |||
Line 219: | Line 278: | ||
==== Create Function ==== | ==== Create Function ==== | ||
*[[CustomTooltip.create]] | *[[CustomTooltip.create]] | ||
==== Set Function ==== | |||
*[[CustomTooltip:setShowTime]] | |||
*[[CustomTooltip:setText]] | |||
==== Get Function ==== | |||
*[[CustomTooltip:getShowTime]] | |||
*[[CustomTooltip:getText]] | |||
Line 233: | Line 300: | ||
*[[CustomLoading:getProgress]] | *[[CustomLoading:getProgress]] | ||
*[[CustomLoading:getAnimated]] | *[[CustomLoading:getAnimated]] | ||
=== '''Custom Scroll Panes''' === | |||
==== Create Function ==== | |||
*[[CustomScrollPane.create]] | |||
==== Set Functions ==== | |||
*[[CustomScrollPane:setScrollSpeed]] | |||
*[[CustomScrollPane:setVerticalScrollPosition]] | |||
*[[CustomScrollPane:setHorizontalScrollPosition]] | |||
*[[CustomScrollPane:setVerticalScrollInversed]] | |||
*[[CustomScrollPane:setHorizontalScrollInversed]] | |||
*[[CustomScrollPane:setHorizontalScrolling]] | |||
*[[CustomScrollPane:setScrollingWithCursor]] | |||
*[[CustomScrollPane:setScrollingWithWheel]] | |||
*[[CustomScrollPane:addVerticalPixelScrollPosition]] | |||
*[[CustomScrollPane:addHorizontalPixelScrollPosition]] | |||
==== Get Functions ==== | |||
*[[CustomScrollPane:getScrollSpeed]] | |||
*[[CustomScrollPane:getVerticalScrollPosition]] | |||
*[[CustomScrollPane:getHorizontalScrollPosition]] | |||
*[[CustomScrollPane:isVerticalScrollInversed]] | |||
*[[CustomScrollPane:isHorizontalScrollInversed]] | |||
*[[CustomScrollPane:isHorizontalScrolling]] | |||
*[[CustomScrollPane:getScrollingWithCursor]] | |||
*[[CustomScrollPane:getScrollingWithWheel]] | |||
==== Event Functions ==== | |||
*[[CustomScrollPane:getMainElement]] | |||
*[[CustomScrollPane:addElement]] | |||
*[[CustomScrollPane:removeElement]] | |||
*[[CustomScrollPane:update]] | |||
=== '''Custom Table Views''' === | |||
==== Create Function ==== | |||
*[[CustomTableView.create]] | |||
==== Set Functions ==== | |||
*[[CustomTableView:setSelectedLine]] | |||
*[[CustomTableView:setIndentation]] | |||
*[[CustomTableView:setTitleBarVisible]] | |||
*[[CustomTableView:setLineHeight]] | |||
*[[CustomTableView:setColumnWidth]] | |||
*[[CustomTableView:setColumnTitle]] | |||
*[[CustomTableView:setCellText]] | |||
*[[CustomTableView:setShadowsEnabled]] | |||
==== Get Functions ==== | |||
*[[CustomTableView:getSelectedLine]] | |||
*[[CustomTableView:getIndentation]] | |||
*[[CustomTableView:getTitleBarVisible]] | |||
*[[CustomTableView:getLineHeight]] | |||
*[[CustomTableView:getColumnWidth]] | |||
*[[CustomTableView:getColumnTitle]] | |||
*[[CustomTableView:getCellText]] | |||
*[[CustomTableView:getCell]] | |||
*[[CustomTableView:getLinesCount]] | |||
*[[CustomTableView:getColumnsCount]] | |||
*[[CustomTableView:getShadowsEnabled]] | |||
==== Event Functions ==== | |||
*[[CustomTableView:addLine]] | |||
*[[CustomTableView:removeLine]] | |||
*[[CustomTableView:clearLines]] | |||
*[[CustomTableView:addColumn]] | |||
*[[CustomTableView:removeColumn]] | |||
*[[CustomTableView:update]] | |||
=== '''Custom Static Images''' === | |||
==== Create Function ==== | |||
*[[CustomStaticImage.create]] | |||
==== Set Function ==== | |||
*[[CustomStaticImage:setColor]] | |||
*[[CustomStaticImage:setImage]] | |||
*[[CustomStaticImage:setSchematicalColor]] | |||
==== Get Function ==== | |||
*[[CustomStaticImage:getColor]] | |||
*[[CustomStaticImage:getImage]] | |||
*[[CustomStaticImage:getNativeSize]] | |||
*[[CustomStaticImage:isSchematicalColor]] | |||
==== Event Functions ==== | |||
*[[CustomStaticImage:getMainElement]] | |||
*[[CustomStaticImage:addElement]] | |||
=== '''Custom Text Boxes''' === | |||
==== Create Function ==== | |||
*[[CustomTextBox.create]] | |||
*[[CustomMemoBox.create]] | |||
==== Set Function ==== | |||
*[[CustomTextBox:setText]] | |||
*[[CustomTextBox:setColor]] | |||
*[[CustomTextBox:setCaretIndex]] | |||
*[[CustomTextBox:setReadOnly]] | |||
*[[CustomTextBox:setMasked]] | |||
*[[CustomTextBox:setBordersEnabled]] | |||
*[[CustomTextBox:setBackgroundEnabled]] | |||
==== Get Function ==== | |||
*[[CustomTextBox:getText]] | |||
*[[CustomTextBox:getColor]] | |||
*[[CustomTextBox:getCaretIndex]] | |||
*[[CustomTextBox:getCaretSelectionStart]] | |||
*[[CustomTextBox:getCaretSelectionEnd]] | |||
*[[CustomTextBox:getCaretSelectionLength]] | |||
*[[CustomTextBox:isReadOnly]] | |||
*[[CustomTextBox:isMasked]] | |||
*[[CustomTextBox:isBordersEnabled]] | |||
*[[CustomTextBox:isBackgroundEnabled]] | |||
=== '''Custom Events''' === | === '''Custom Events''' === | ||
*[[onCustomScrollPaneScrolled]] | |||
*[[onCustomScrollBarScrolled]] | *[[onCustomScrollBarScrolled]] | ||
*[[onCustomDialogClick]] | *[[onCustomDialogClick]] | ||
*[[onCustomWindowClose]] | *[[onCustomWindowClose]] | ||
*[[onCustomCheckBoxChecked]] | |||
*[[onCustomComboBoxSelectItem]] | *[[onCustomComboBoxSelectItem]] | ||
*[[onCustomTabPanelChangeTab]] | |||
=== '''Other about Custom Widgets''' === | |||
*[[CustomWidgets.Variables]] | |||
*[[CustomWidgets.Examples]] | |||
*[[CustomWidgets.DemoWidgets]] |
Latest revision as of 15:00, 4 April 2019
Resource Wiki with content located here: Resource:CustomWidgets
Custom Widgets
This methods working for all elements except CustomDialogs and CustomTooltips
Set Functions
- CustomWidget:setPosition
- CustomWidget:setSize
- CustomWidget:setVisible
- CustomWidget:setEnabled
- CustomWidget:setColorScheme
- CustomWidget:setFont
- CustomWidget:setFontSize
- CustomWidget:setSystemFont
Get Functions
- CustomWidget:getPosition
- CustomWidget:getSize
- CustomWidget:getRealSize
- CustomWidget:getVisible
- CustomWidget:getEnabled
- CustomWidget:getColorScheme
- CustomWidget:getFont
- CustomWidget:getFontSize
- getCWType
Event Functions
- CustomWidget:bringToFront
- CustomWidget:moveToBack
- CustomWidget:addEvent
- CustomWidget:removeEvent
- CustomWidget:destroy
- proceedColor
Custom Windows
Create Function
Set Functions
- CustomWindow:setTitle
- CustomWindow:setText
- CustomWindow:setMovable
- CustomWindow:setSizable
- CustomWindow:setCloseEnabled
- CustomWindow:setSideBarLength
- CustomWindow:setSideBarPosition
- CustomWindow:setMinimalWidth
- CustomWindow:setMinimalHeight
- CustomWindow:setMinimalSize
- CustomWindow:setMaximalWidth
- CustomWindow:setMaximalHeight
- CustomWindow:setMaximalSize
Get Functions
- CustomWindow:getTitle
- CustomWindow:getText
- CustomWindow:getMovable
- CustomWindow:getSizable
- CustomWindow:getCloseEnabled
- CustomWindow:getSideBarLength
- CustomWindow:getSideBarPosition
- CustomWindow:getMinimalWidth
- CustomWindow:getMinimalHeight
- CustomWindow:getMinimalSize
- CustomWindow:getMaximalWidth
- CustomWindow:getMaximalHeight
- CustomWindow:getMaximalSize
Event Functions
- CustomWindow:open
- CustomWindow:close
- CustomWindow:addElement
- CustomWindow:addElements
- CustomWindow:showDialog
- CustomWindow:showBar
- CustomWindow:getMainElement
- CustomWindow:getHeader
- CustomWindow:getDialog
Custom Buttons
Create Function
Set Functions
Get Functions
Event Functions
Custom Progress Bars
Create Function
Set Functions
Get Functions
Event Functions
Custom Scroll Bars
Create Function
Set Functions
Get Functions
Custom Edit Boxes
All functions, what has mark CustomEditBox available for CustomEdit, CustomMemo and CustomSpinner.
Create Functions
Set Functions
- CustomEditBox:setReadOnly
- CustomEditBox:setText
- CustomEditBox:setCaretIndex
- CustomEditBox:setSidesColor
Get Functions
- CustomEditBox:getReadOnly
- CustomEditBox:getText
- CustomEditBox:getCaretIndex
- CustomEditBox:isOnSide
- CustomEditBox:getSidesColor
Event Functions
Custom Check Boxes
Create Function
Set Functions
Get Functions
Event Functions
Custom Combo Boxes
Create Function
Set Functions
Get Functions
- CustomComboBox:getSelectedItem
- CustomComboBox:getItemText
- CustomComboBox:getMaxHeight
- CustomComboBox:getItemsCount
- CustomComboBox:getItems
Event Functions
Custom Tabbed Panels
Create Function
Set Functions
- CustomTabPanel:setTabVisible
- CustomTabPanel:setTabEnabled
- CustomTabPanel:setTabText
- CustomTabPanel:setSelectedTab
- CustomTabPanel:setTabsMinLength
Get Functions
- CustomTabPanel:getTabVisible
- CustomTabPanel:getTabEnabled
- CustomTabPanel:getTabText
- CustomTabPanel:getTabFromText
- CustomTabPanel:getSelectedTab
- CustomTabPanel:getTabsMinLength
- CustomTabPanel:getTabHeader
Event Functions
- CustomTabPanel:addTab
- CustomTabPanel:removeTab
- CustomTabPanel:clearTabs
- CustomTabPanel:getMainElement
Custom Labels
Create Function
Set Functions
- CustomLabel:setText
- CustomLabel:setColor
- CustomLabel:setSchematicalColor
- CustomLabel:setHoverable
- CustomLabel:setVerticalAlign
- CustomLabel:setHorizontalAlign
- CustomLabel:setAlign
Get Functions
- CustomLabel:getText
- CustomLabel:getColor
- CustomLabel:getVerticalAlign
- CustomLabel:getHorizontalAlign
- CustomLabel:isSchematicalColor
- CustomLabel:isHoverable
Event Functions
Custom Dialogs
Create Function
Event Functions
Custom Tool Tips
Create Function
Set Function
Get Function
Custom Loadings
Create Function
Set Functions
Get Functions
Custom Scroll Panes
Create Function
Set Functions
- CustomScrollPane:setScrollSpeed
- CustomScrollPane:setVerticalScrollPosition
- CustomScrollPane:setHorizontalScrollPosition
- CustomScrollPane:setVerticalScrollInversed
- CustomScrollPane:setHorizontalScrollInversed
- CustomScrollPane:setHorizontalScrolling
- CustomScrollPane:setScrollingWithCursor
- CustomScrollPane:setScrollingWithWheel
- CustomScrollPane:addVerticalPixelScrollPosition
- CustomScrollPane:addHorizontalPixelScrollPosition
Get Functions
- CustomScrollPane:getScrollSpeed
- CustomScrollPane:getVerticalScrollPosition
- CustomScrollPane:getHorizontalScrollPosition
- CustomScrollPane:isVerticalScrollInversed
- CustomScrollPane:isHorizontalScrollInversed
- CustomScrollPane:isHorizontalScrolling
- CustomScrollPane:getScrollingWithCursor
- CustomScrollPane:getScrollingWithWheel
Event Functions
- CustomScrollPane:getMainElement
- CustomScrollPane:addElement
- CustomScrollPane:removeElement
- CustomScrollPane:update
Custom Table Views
Create Function
Set Functions
- CustomTableView:setSelectedLine
- CustomTableView:setIndentation
- CustomTableView:setTitleBarVisible
- CustomTableView:setLineHeight
- CustomTableView:setColumnWidth
- CustomTableView:setColumnTitle
- CustomTableView:setCellText
- CustomTableView:setShadowsEnabled
Get Functions
- CustomTableView:getSelectedLine
- CustomTableView:getIndentation
- CustomTableView:getTitleBarVisible
- CustomTableView:getLineHeight
- CustomTableView:getColumnWidth
- CustomTableView:getColumnTitle
- CustomTableView:getCellText
- CustomTableView:getCell
- CustomTableView:getLinesCount
- CustomTableView:getColumnsCount
- CustomTableView:getShadowsEnabled
Event Functions
- CustomTableView:addLine
- CustomTableView:removeLine
- CustomTableView:clearLines
- CustomTableView:addColumn
- CustomTableView:removeColumn
- CustomTableView:update
Custom Static Images
Create Function
Set Function
Get Function
- CustomStaticImage:getColor
- CustomStaticImage:getImage
- CustomStaticImage:getNativeSize
- CustomStaticImage:isSchematicalColor
Event Functions
Custom Text Boxes
Create Function
Set Function
- CustomTextBox:setText
- CustomTextBox:setColor
- CustomTextBox:setCaretIndex
- CustomTextBox:setReadOnly
- CustomTextBox:setMasked
- CustomTextBox:setBordersEnabled
- CustomTextBox:setBackgroundEnabled
Get Function
- CustomTextBox:getText
- CustomTextBox:getColor
- CustomTextBox:getCaretIndex
- CustomTextBox:getCaretSelectionStart
- CustomTextBox:getCaretSelectionEnd
- CustomTextBox:getCaretSelectionLength
- CustomTextBox:isReadOnly
- CustomTextBox:isMasked
- CustomTextBox:isBordersEnabled
- CustomTextBox:isBackgroundEnabled
Custom Events
- onCustomScrollPaneScrolled
- onCustomScrollBarScrolled
- onCustomDialogClick
- onCustomWindowClose
- onCustomCheckBoxChecked
- onCustomComboBoxSelectItem
- onCustomTabPanelChangeTab