Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 83 additions & 15 deletions src/gui/RemotePluginTab.bbj
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,13 @@ class public RemotePluginTab
field private BBjChildWindow childWindow!

field private ArrayList pluginList!
field private ArrayList sortedPluginList!
field private BBjString selectedPluginName!

rem The available plugin tab's controls
field private BBjButton btnInstallPlugin!
field private BBjCheckBox cbxIncludeDevPlugins!
field private BBjInputE iESearchBar!
field private BBjListButton hiddenListButton!
field private BBjProgressBar pbInstallation!
field private BBjStandardGrid grdPlugins!
Expand Down Expand Up @@ -57,7 +60,15 @@ class public RemotePluginTab
#cbxIncludeDevPlugins!.setSelected(0)
#cbxIncludeDevPlugins!.setCallback(BBjAPI.ON_CHECK_ON, #this!, "includeDevelopmentPlugins")
#cbxIncludeDevPlugins!.setCallback(BBjAPI.ON_CHECK_OFF, #this!, "excludeDevelopmentPlugins")


control_width = 200
control_height = 25
row_x = cw_width - control_width - space - 20
cw_next_id = childWindow!.getAvailableControlID()
#iESearchBar! = childWindow!.addInputE(cw_next_id, row_x, row_y, control_width, control_height)
#iESearchBar!.setCallback(BBjAPI.ON_EDIT_MODIFY, #this!, "inputEModify")
#iESearchBar!.setPlaceholder("Search...")

control_width = 200
control_height = 25
row_x = cw_width - control_width - space - 20
Expand All @@ -68,7 +79,7 @@ class public RemotePluginTab

rem new row
row_x = 10
control_width = cw_width - 2 * space -20
control_width = cw_width - 2 * space - 20
control_height = 175
cw_next_id = childWindow!.getAvailableControlID()
#grdPlugins! = childWindow!.addGrid(cw_next_id, row_x, row_Y, control_width, control_height, $8140$)
Expand Down Expand Up @@ -288,23 +299,27 @@ class public RemotePluginTab
#pbInstallation!.setText("Plugin Installed")
wait 1
#pbInstallation!.setVisible(0)

#iESearchBar!.setVisible(1)
methodend

rem /**
rem * Refreshes the available plugin grid by adding the plugins which are missing tags
rem */
method public void includeDevelopmentPlugins(BBjCheckOnEvent event!)
#selectedPluginName! = #grdPlugins!.getCell(#grdPlugins!.getSelectedRow(), 1).getText()
#sysGui!.setRepaintEnabled(0)
#updateTabEntries(#pluginList!, Boolean.TRUE)
#updateTabEntries(#sortedPluginList!, Boolean.TRUE)
#sysGui!.setRepaintEnabled(1)
methodend

rem /**
rem * Refreshes the available plugin grid by only displaying the plugins having tags
rem */
method public void excludeDevelopmentPlugins(BBjCheckOffEvent event!)
#selectedPluginName! = #grdPlugins!.getCell(#grdPlugins!.getSelectedRow(), 1).getText()
#sysGui!.setRepaintEnabled(0)
#updateTabEntries(#pluginList!,Boolean.FALSE)
#updateTabEntries(#sortedPluginList!,Boolean.FALSE)
#sysGui!.setRepaintEnabled(1)
methodend

Expand All @@ -314,19 +329,30 @@ class public RemotePluginTab
if(event! <> null()) then
row = event!.getRow()
column = event!.getColumn()

grid! = cast(BBjStandardGrid,event!.getControl())
else
grid! = #grdPlugins!
row = grid!.getSelectedRow()
column = grid!.getSelectedColumn()
endif


if (#sortedPluginList!.isEmpty()) then
rem Do nothing
methodret
endif

grid!.setEditable(0)
grid!.setCellEditable(row, 2, 1)

declare RemoteBBjPlugin remotePlugin!
remotePlugin! = cast(RemoteBBjPlugin, #getSelectedPlugin())


if remotePlugin! = null() then
methodret
endif

rem Refreshing the tag names in the version tag Combo box
tagNames! = new BBjVector(remotePlugin!.getTagNameList(#cbxIncludeDevPlugins!.isSelected(), Boolean.TRUE))

Expand Down Expand Up @@ -395,10 +421,39 @@ class public RemotePluginTab
#pbInstallation!.setText("Installing plugin: " + remotePlugin!.getName())
#pbInstallation!.setIndeterminate(1)
#pbInstallation!.setVisible(1)

#iESearchBar!.setVisible(0)
#btnClearSearchBar!.setVisible(0)
#btnSearch!.setVisible(0)

bbjapi().postCustomEvent(PluginManagerUI.getINSTALL_PLUGIN_REQUEST(), map!)
methodend

method public void inputEModify(BBjEditModifyEvent event!)
searchText$ = event!.getText().toLowerCase()
#search(searchText$)
methodend

method public void search(BBjString searchText$)
declare BBjVector vect!
declare ArrayList tagList!
vect! = new BBjVector()

if #pluginList!.isEmpty() then
methodret
fi

for i=0 to #pluginList!.size()-1
remotePlugin! = cast(RemoteBBjPlugin, #pluginList!.get(i))

if remotePlugin!.getName().toLowerCase().contains(searchText$) then
vect!.add(remotePlugin!)
endif
next i

#updateTabEntries(vect!, #cbxIncludeDevPlugins!.isSelected())
methodend

method public void pluginGridMouseUp(BBjGridMouseUpEvent event!)
#updatePluginInformation()
methodend
Expand Down Expand Up @@ -428,6 +483,7 @@ class public RemotePluginTab
rem * Updates the entries of the ChildWindow controls
rem */
method public void updateTabEntries(ArrayList pluginList!)
#pluginList! = pluginList!
includeDevelopmentVersions! = #cbxIncludeDevPlugins!.isSelected()
#updateTabEntries(pluginList!, includeDevelopmentVersions!)
methodend
Expand All @@ -436,20 +492,25 @@ class public RemotePluginTab
method private void updateTabEntries(ArrayList pluginList!, Boolean includeDevelopmentVersions!)
declare BBjVector vect!
vect! = new BBjVector()

#pluginList! = pluginList!


#sortedPluginList! = pluginList!
REM #pluginList! = pluginList!

if #sortedPluginList!.size() = 0 then
#grdPlugins!.setNumRows(0)
methodret
fi

rem removing the old entries
#grdPlugins!.clearMainGrid()
if(!#pluginList!.isEmpty()) then
if(!#sortedPluginList!.isEmpty()) then
declare RemoteBBjPlugin remotePlugin!
for i=0 to #pluginList!.size()-1
remotePlugin! = cast(RemoteBBjPlugin, #pluginList!.get(i))

for i=0 to #sortedPluginList!.size()-1
remotePlugin! = cast(RemoteBBjPlugin, #sortedPluginList!.get(i))
if(!includeDevelopmentVersions! AND remotePlugin!.isDevelopmentPlugin()) then
continue
endif

vect!.add(remotePlugin!.getID())
vect!.add(remotePlugin!.getName())
tag! = remotePlugin!.getTagList(includeDevelopmentVersions!, Boolean.TRUE).get(0)
Expand All @@ -465,11 +526,18 @@ class public RemotePluginTab
next i
#grdPlugins!.setNumRows(vect!.size() / 5)
#grdPlugins!.setCellText(0, 0, vect!)

for i=0 to #grdPlugins!.getNumRows()-1
if #grdPlugins!.getCell(i, 1).getText() = #selectedPluginName! then
#grdPlugins!.setSelectedCell(i,1)
methodret
endif
next i
endif

#grdPlugins!.deselectAllCells()
#grdPlugins!.setSelectedCell(0,0)

#pluginGridRowSelected(null())
#updatePluginInformation()
methodend
Expand Down Expand Up @@ -585,4 +653,4 @@ class public RemotePluginTab
methodret #childWindow!
methodend

classend
classend