Sub Process_Globals
End Sub
Sub Globals
Dim TMR As Timer
Dim TH1 As TabHost
Dim THEX As TabHostExtras
Dim SV1, SV2, SV3 As ScrollView
Dim P1, P2, P3 As Panel
Dim T1, T2, T3 As Panel
Dim Header As Panel
Dim h1() As String
Dim h2() As String
Dim h3() As String
Dim i1() As Int
Dim i2() As Int
Dim i3() As Int
Dim RowHeight As Int
Dim HeaderColor, LineColor, CellColor, FontColor, HeaderFontColor As Int
Dim RowLineBorder, ColLineBorder As Int
Dim FontSize As Float
Dim Alignment As Int
RowLineBorder = 1dip
ColLineBorder = 1dip
RowHeight = 20dip
FontSize = 8
Alignment = Gravity.CENTER
LineColor = Colors.DarkGray
CellColor = Colors.Black
FontColor = Colors.White
HeaderColor = Colors.LightGray
HeaderFontColor = Colors.Black
End Sub
Sub Activity_Create(FirstTime As Boolean)
TH1.Initialize("TH1")
THEX.setTabHeight(TH1, 100%y)
THEX.setTabContentViewPadding(TH1, 0, 0, 0, 0)
Activity.AddView(TH1, 0, 0, 100%x, 100%y)
P1.Initialize("")
P2.Initialize("")
P3.Initialize("")
TH1.AddTab2("TAB1", P1)
TH1.AddTab2("TAB2", P2)
TH1.AddTab2("TAB3", P3)
h1 = Array As String("#", "COL1", "COL2", "COL3", "COL4", "COL5", "COL6", "COL7")
h2 = Array As String("#", "COL1", "COL2", "COL3", "COL4", "COL5")
h3 = Array As String("#", "COL1", "COL2", "COL3", "COL4", "COL5", "COL6")
SV1.Initialize(0)
SV2.Initialize(0)
SV3.Initialize(0)
P1.AddView(SV1, 0, RowHeight + RowLineBorder * 2, TH1.Width - (h1.Length + 2) * ColLineBorder, TH1.Height - THEX.getTabHeight(TH1) - RowHeight - RowLineBorder * 2 - 10dip)
P2.AddView(SV2, 0, RowHeight + RowLineBorder * 2, TH1.Width - (h2.Length + 2) * ColLineBorder, TH1.Height - THEX.getTabHeight(TH1) - RowHeight - RowLineBorder * 2 - 10dip)
P3.AddView(SV3, 0, RowHeight + RowLineBorder * 2, TH1.Width - (h3.Length + 2) * ColLineBorder, TH1.Height - THEX.getTabHeight(TH1) - RowHeight - RowLineBorder * 2 - 10dip)
T1 = SV1.Panel
T2 = SV2.Panel
T3 = SV3.Panel
T1.Color = LineColor
T2.Color = LineColor
T3.Color = LineColor
i1 = Array As Int(SV1.Width * 0.05, SV1.Width * 0.12, SV1.Width * 0.15, SV1.Width * 0.15, SV1.Width * 0.15, SV1.Width * 0.10, SV1.Width * 0.14, SV1.Width * 0.14)
i2 = Array As Int(SV2.Width * 0.05, SV2.Width * 0.30, SV2.Width * 0.25, SV2.Width * 0.15, SV2.Width * 0.10, SV2.Width * 0.15)
i3 = Array As Int(SV3.Width * 0.05, SV3.Width * 0.175, SV3.Width * 0.175, SV3.Width * 0.15, SV3.Width * 0.15, SV3.Width * 0.15, SV3.Width * 0.15)
SetHeader(SV1, P1, h1, i1)
SetHeader(SV2, P2, h2, i2)
SetHeader(SV3, P3, h3, i3)
TMR.Initialize("TMR", 1000)
End Sub
Sub Activity_Resume
TMR.Enabled = True
End Sub
Sub Activity_Pause(UserClosed As Boolean)
TMR.Enabled = False
End Sub
Sub TMR_Tick
FillGrid
End Sub
Sub FillGrid
' RANDOM FILL TEST
Dim i As Int
Dim j As Int
ClearPanel(T1)
j = Rnd(0, 9)
For i = 0 To j
AddRow(T1, Array As String(j, T1.NumberOfViews, T1.Height, P1.Height, i, i, i, i), i1)
Next
End Sub
Sub ClearPanel(PanelName As Panel)
PanelName.RemoveAllViews
PanelName.Height = 0
End Sub
Sub AddRow(PanelName As Panel, Values() As String, ColumnWidth() As Int)
Dim lastRow As Int = PanelName.NumberOfViews / Values.Length
Dim col As Int
For col = 0 To Values.Length - 1
Dim lbl As Label
lbl.Initialize("L")
lbl.Text = Values(col)
lbl.Gravity = Alignment
lbl.TextSize = FontSize
lbl.TextColor = FontColor
lbl.Color = CellColor
PanelName.AddView(lbl, GetColLeft(ColumnWidth, col), (RowHeight + RowLineBorder) * lastRow, ColumnWidth(col) - ColLineBorder, RowHeight)
Next
PanelName.Height = (RowHeight + RowLineBorder) * (lastRow + 1)
End Sub
Sub SetHeader(ScrollName As ScrollView, PanelName As Panel, Values() As String, ColumnWidth() As Int)
Dim col As Int
Header.Initialize("")
For col = 0 To Values.Length - 1
Dim lbl As Label
lbl.Initialize("")
lbl.Text = Values(col)
lbl.Gravity = Gravity.CENTER
lbl.TextSize = FontSize
lbl.Color = HeaderColor
lbl.TextColor = HeaderFontColor
lbl.Tag = col
Header.AddView(lbl, GetColLeft(ColumnWidth, col), 0, ColumnWidth(col) - ColLineBorder, RowHeight)
Next
PanelName.AddView(Header, ScrollName.Left, ScrollName.Top - (RowHeight + RowLineBorder), ScrollName.Width, RowHeight + RowLineBorder)
End Sub
Sub GetColLeft(ColumnWidth() As Int, ColNum As Int) As Int
Dim i, ColWidth As Int
ColWidth = 0
For i = 0 To ColNum - 1
ColWidth = ColWidth + ColumnWidth(i)
Next
Return ColWidth
End Sub