BBjPopupMenu::getStyles

Description

In BBj 19.10 and higher, this method gets a list of all CSS style names that have been added to this BBjPopupMenu.

Syntax

Return Value

Method

BBjVector

getStyles()

Parameters

None.

Return Value

Returns the value of this property.

Remarks

Returns a BBjVector containing a list of all styles that have been added to this BBjPopupMenu.

Sample Program

rem ' CSS sampler

sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
window! = sysgui!.addWindow(50,50,325,500,"CSS Sampler",$00090003$)
window!.setCallback(window!.ON_CLOSE,"eoj")
text$ = "The quick brown fox jumps over the lazy dog."
edit! = window!.addEditBox(100,25,25,275,50,text$,$$)
edit!.setName("MyEditBox")
print edit!.getName()
popupMenu! = edit!.addPopupMenu()
popupMenu!.setName("MyPopupMenu")
print popupMenu!.getName()
popupMenu!.setAttribute("property","value")
print popupMenu!.getAttribute("property")
popupMenu!.putClientProperty("property","value")
print popupMenu!.getClientProperty("property")
item1! = popupMenu!.addMenuItem(-1,"Popup Item 1",1,0)
item1!.setCallback(item1!.ON_POPUP_ITEM_SELECT,"popup")
item2! = popupMenu!.addMenuItem(-1,"Popup Item 2",1,1)
item2!.setCallback(item2!.ON_POPUP_ITEM_SELECT,"popup")
item3! = popupMenu!.addMenuItem(-1,"Popup Item 3",1,0)
item3!.setCallback(item3!.ON_POPUP_ITEM_SELECT,"popup")
border! = window!.addCheckBox(101,25,100,275,25,"borderStyle",$$)
border!.setCallback(border!.ON_CHECK_ON,"addStyle")
border!.setCallback(border!.ON_CHECK_OFF,"removeStyle")
shadow! = window!.addCheckBox(102,25,125,275,25,"shadowStyle",$$)
shadow!.setCallback(shadow!.ON_CHECK_ON,"addStyle")
shadow!.setCallback(shadow!.ON_CHECK_OFF,"removeStyle")
background! = window!.addCheckBox(103,25,150,275,25,"backgroundStyle",$$)
background!.setCallback(background!.ON_CHECK_ON,"addStyle")
background!.setCallback(background!.ON_CHECK_OFF,"removeStyle")
popupStyle1! = window!.addCheckBox(104,25,175,275,25,"popupStyle1",$$)
popupStyle1!.setCallback(popupStyle1!.ON_CHECK_ON,"addPopupStyle")
popupStyle1!.setCallback(popupStyle1!.ON_CHECK_OFF,"removePopupStyle")
popupStyle2! = window!.addCheckBox(105,25,200,275,25,"popupStyle2",$$)
popupStyle2!.setCallback(popupStyle2!.ON_CHECK_ON,"addPopupStyle")
popupStyle2!.setCallback(popupStyle2!.ON_CHECK_OFF,"removePopupStyle")
windowStyle! = window!.addCheckBox(106,25,225,275,25,"windowStyle",$$)
windowStyle!.setCallback(windowStyle!.ON_CHECK_ON,"addWindowStyle")
windowStyle!.setCallback(windowStyle!.ON_CHECK_OFF,"removeWindowStyle")
titlebarStyle! = window!.addCheckBox(107,25,250,275,25,"titleStyle",$$)
titlebarStyle!.setCallback(titlebarStyle!.ON_CHECK_ON,"addTitleBarStyle")
titlebarStyle!.setCallback(titlebarStyle!.ON_CHECK_OFF,"removeTitleBarStyle")
getStyles! = window!.addButton(1,25,300,125,25,"getStyles",$$)
getStyles!.setCallback(getStyles!.ON_BUTTON_PUSH,"getStyles")
clearStyles! = window!.addButton(2,175,300,125,25,"clearStyles",$$)
clearStyles!.setCallback(clearStyles!.ON_BUTTON_PUSH,"clearStyles")
window!.addStaticText(108,5,355,50,25,"Style:",$8000$)
style! = window!.addEditBox(109,60,350,240,25,"",$$)
window!.addStaticText(110,5,405,50,25,"Value:",$8000$)
value! = window!.addEditBox(111,60,400,240,25,"",$$)
getStyle! = window!.addButton(3,5,450,80,25,"Get Style",$$)
getStyle!.setCallback(getStyle!.ON_BUTTON_PUSH,"getStyle")
getComputedStyle! = window!.addButton(4,90,450,145,25,"Get Computed Style",$$)
getComputedStyle!.setCallback(getComputedStyle!.ON_BUTTON_PUSH,"getComputedStyle")
setStyle! = window!.addButton(5,240,450,80,25,"Set Style",$$)
setStyle!.setCallback(setStyle!.ON_BUTTON_PUSH,"setStyle")
process_events

eoj:
release

getStyles:
    i = msgbox(edit!.getStyles().toString(),0,"getStyles")
return

clearStyles:
    border!.setSelected(0)
    shadow!.setSelected(0)
    background!.setSelected(0)
    popup!.setSelected(0)
    important!.setSelected(0)
    windowStyle!.setSelected(0)
    titlebarStyle!.setSelected(0)
    edit!.clearStyles()
    popupMenu!.clearStyles()
    item1!.clearStyles()
    item2!.clearStyles()
    item3!.clearStyles()
    window!.clearStyles()
    window!.clearTitleBarStyles()
return

addStyle:
    event! = sysgui!.getLastEvent()
    control! = event!.getControl()
    style$ = control!.getText()
    edit!.addStyle(style$)
    print edit!.getStyles()
return

removeStyle:
    event! = sysgui!.getLastEvent()
    control! = event!.getControl()
    style$ = control!.getText()
    edit!.removeStyle(style$)
    print edit!.getStyles()
return

addPopupStyle:
    event! = sysgui!.getLastEvent()
    control! = event!.getControl()
    style$ = control!.getText()
    popupMenu!.addStyle(style$)
    item1!.addStyle(style$)
    item2!.addStyle(style$)
    item3!.addStyle(style$)
    print popupMenu!.getStyles()
return

removePopupStyle:
    event! = sysgui!.getLastEvent()
    control! = event!.getControl()
    style$ = control!.getText()
    popupMenu!.removeStyle(style$)
    item1!.removeStyle(style$)
    item2!.removeStyle(style$)
    item3!.removeStyle(style$)
    print popupMenu!.getStyles()
return

addWindowStyle:
    event! = sysgui!.getLastEvent()
    control! = event!.getControl()
    style$ = control!.getText()
    window!.addStyle(style$)
    print window!.getStyles()
return

removeWindowStyle:
    event! = sysgui!.getLastEvent()
    control! = event!.getControl()
    style$ = control!.getText()
    window!.removeStyle(style$)
    print window!.getStyles()
return

addTitleBarStyle:
    event! = sysgui!.getLastEvent()
    control! = event!.getControl()
    style$ = control!.getText()
    window!.addTitleBarStyle(style$)
    print window!.getTitleBarStyles()
return

removeTitleBarStyle:
    event! = sysgui!.getLastEvent()
    control! = event!.getControl()
    style$ = control!.getText()
    window!.removeTitleBarStyle(style$)
    print window!.getTitleBarStyles()
return

getStyle:
    value!.setText(popupMenu!.getStyle(style!.getText()))
return

getComputedStyle:
    rem ' getComputedStyle only works with visible components
    popupMenu!.show(edit!,0,0)
    value!.setText(popupMenu!.getComputedStyle(style!.getText()))
    popupMenu!.hide()
return

setStyle:
    edit!.setStyle(style!.getText(),value!.getText())
    popupMenu!.setStyle(style!.getText(),value!.getText())
return

popup:
    event! = sysgui!.getLastEvent()
    print event!.getEventName()," ",event!.getMenuItem().getText()
return

Sample CSS

.backgroundStyle
{
    background: rgb(242,245,246) !important;
    background: -moz-linear-gradient(top,  rgba(242,245,246,1) 0%, rgba(227,234,237,1) 37%, rgba(200,215,220,1) 100%) !important;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(242,245,246,1)), color-stop(37%,rgba(227,234,237,1)), color-stop(100%,rgba(200,215,220,1))) !important;
    background: -webkit-linear-gradient(top,  rgba(242,245,246,1) 0%,rgba(227,234,237,1) 37%,rgba(200,215,220,1) 100%) !important;
    background: -o-linear-gradient(top,  rgba(242,245,246,1) 0%,rgba(227,234,237,1) 37%,rgba(200,215,220,1) 100%) !important;
    background: -ms-linear-gradient(top,  rgba(242,245,246,1) 0%,rgba(227,234,237,1) 37%,rgba(200,215,220,1) 100%) !important;
    background: linear-gradient(to bottom,  rgba(242,245,246,1) 0%,rgba(227,234,237,1) 37%,rgba(200,215,220,1) 100%) !important;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f5f6', endColorstr='#c8d7dc',GradientType=0 ) !important;
}
.borderStyle
{
    border-radius: 15px !important;
    border-width: 2px !important;
}
.shadowStyle
{
    box-shadow: 7px 7px 5px rgba(50, 50, 50, 0.5) !important;
}
.Caption.BBjTopLevelWindow-titleBar.titleStyle
{
    background: #8195a9;
    background: -moz-linear-gradient(top, #889db3, #8195a9 49%, #7a8da0 50%, #738596 98%, #8195a9 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #889db3), color-stop(49%, #8195a9), color-stop(50%, #7a8da0), color-stop(98%, #738596), color-stop(100%, #8195a9));
    background: -webkit-linear-gradient(top, #889db3 0%, #8195a9 49%, #7a8da0 50%, #738596 98%, #8195a9 100%);
    background: -o-linear-gradient(top, #889db3 0%, #8195a9 49%, #7a8da0 50%, #738596 98%, #8195a9 100%);
    background: -ms-linear-gradient(top, #889db3 0%, #8195a9 49%, #7a8da0 50%, #738596 98%, #8195a9 100%);
    background: linear-gradient(to bottom, #889db3 0%, #8195a9 49%, #7a8da0 50%, #738596 98%, #8195a9 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@colorNew1', endColorstr='@colorNew5', GradientType=0);
    color: #f8fafc;
    text-shadow: 0 1px 4px #404040;
}
.BBjPopupMenu.popupStyle1
{
    background: blue !important;
    color: yellow !important;
}
.BBjMenuItem.popupStyle1,.BBjCheckableMenuItem.popupStyle1
{
    background: blue !important;
    color: yellow !important;
}
.BBjPopupMenu.popupStyle2
{ 
    background: yellow !important;
    color: blue !important;
}
.BBjMenuItem.popupStyle2,.BBjCheckableMenuItem.popupStyle2
{ 
    background: yellow !important;
    color: blue !important;
}

See Also

BBjAPI

BBjSysGui

BBjWindow

BBjPopupMenu

CSS API

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.