/usr/lib/libreoffice/share/extensions/DmathsAddon/OOoGdmath/Combobox.xba is in libreoffice-dmaths 3.4+dfsg1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Combobox" script:language="StarBasic">'OOoGdmath
'Copyright (C) 2005-2009 Gilles Daurat
'This program is free software; you can redistribute it and/or
'modify it under the terms of the GNU General Public License
'as published by the Free Software Foundation; either version 2
'of the License, or (at your option) any later version.
'This program is distributed in the hope that it will be useful,
'but WITHOUT ANY WARRANTY; without even the implied warranty of
'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
'GNU General Public License for more details.
'You should have received a copy of the GNU General Public License
'along with this program; if not, write to the Free Software
'Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Option Explicit
Sub Main
End Sub
Sub Add(oDialog as Object, Nom as string, Item as string, Optional pos as integer)
if IsMissing(pos) then pos=ListCount(oDialog, Nom)
oDialog.GetControl(Nom).AddItem(Item, pos)
End sub
Sub SetListIndex(oDialog as Object, Nom as string, pos as integer)
Dim Item as string
' xray.xray oDialog.GetControl(Nom)
if left(Nom,4)="Comb" then
Item=GetList(oDialog, Nom, pos)
oDialog.GetControl(Nom).SetText(Item)
else
oDialog.GetControl(Nom).SelectItemPos(pos, True)
end if
End Sub
Function GetListIndex(oDialog as Object, Nom as string) as Integer
dim i,j
' xray.xray oDialog.GetControl(Nom)
if left(Nom,4)="Comb" then
for i=0 to ListCount(oDialog, Nom)-1
if oDialog.GetControl(Nom).Text = GetList(oDialog, Nom, i) then j=i
next i
else
' xray.xray oDialog.GetControl(Nom)
j=oDialog.GetControl(Nom).SelectedItemPos()
end if
GetListIndex=j
End Function
Sub SetList(oDialog as Object, Nom as string, Item as string)
' xray.xray oDialog.GetControl(Nom)
RemplaceItem(oDialog, Nom, GetListIndex(oDialog, Nom), Item)
End Sub
Function GetList(oDialog as Object, Nom as string, pos as integer) as String
dim s as string
' xray.xray oDialog.GetControl(Nom)
s=""
if pos<>-1 then s=oDialog.GetControl(Nom).GetItem(pos)
GetList()=s
End Function
Sub SelectedItem(oDialog as Object, Nom as string, Item as string)
oDialog.GetControl(Nom).SelectedItem(Item, True)
End Sub
Sub SupprimeItem(oDialog as Object, Nom as String, pos as integer)
' xray.xray oDialog.GetControl(Nom)
if pos<>-1 then oDialog.GetControl(Nom).RemoveItems(pos,1)
End Sub
Sub RemplaceItem(oDialog as Object, Nom as string, pos as integer, Item as String)
if pos<>-1 then
SupprimeItem(oDialog, Nom,pos)
Add(oDialog, Nom, Item, pos)
end if
End Sub
Function ListCount(oDialog as Object, Nom as string) as integer
' xray.xray oDialog.GetControl(Nom)
ListCount()=oDialog.GetControl(Nom).GetItemCount()
End Function
Sub Clear(oDialog as Object, Nom as string)
oDialog.GetControl(Nom).RemoveItems(0,ListCount(oDialog, Nom))
End Sub
</script:module>
|