diff --git a/main.go b/main.go index 06b0c92..eb1d6a3 100644 --- a/main.go +++ b/main.go @@ -209,9 +209,28 @@ func (f *TMainForm) OnFormCreate(sender vcl.IObject) { dataTab.SetCaption("Data") dataTab.SetImageIndex(imgTable) + dataButtonBar := vcl.NewToolBar(dataTab) + dataButtonBar.SetParent(dataTab) + dataButtonBar.SetAlign(types.AlTop) + dataButtonBar.BorderSpacing().SetLeft(MY_SPACING) + dataButtonBar.BorderSpacing().SetTop(MY_SPACING) + dataButtonBar.BorderSpacing().SetBottom(1) + dataButtonBar.BorderSpacing().SetRight(MY_SPACING) + dataButtonBar.SetEdgeBorders(0) + dataButtonBar.SetImages(f.ImageList) + dataButtonBar.SetShowCaptions(true) + + dataRefreshBtn := vcl.NewToolButton(dataButtonBar) + dataRefreshBtn.SetParent(dataButtonBar) + dataRefreshBtn.SetCaption("Refresh") + // dataRefreshBtn.SetImageIndex(imgLightning) + dataRefreshBtn.SetOnClick(func(sender vcl.IObject) { f.RefreshCurrentItem() }) + f.contentBox = vcl.NewStringGrid(dataTab) f.contentBox.SetParent(dataTab) - f.contentBox.BorderSpacing().SetAround(MY_SPACING) + f.contentBox.BorderSpacing().SetLeft(MY_SPACING) + f.contentBox.BorderSpacing().SetRight(MY_SPACING) + f.contentBox.BorderSpacing().SetBottom(MY_SPACING) f.contentBox.SetAlign(types.AlClient) // fill remaining space f.contentBox.SetOptions(f.contentBox.Options().Include(types.GoThumbTracking, types.GoColSizing, types.GoDblClickAutoSize)) f.contentBox.SetDefaultColWidth(MY_WIDTH) @@ -475,6 +494,17 @@ func (f *TMainForm) OnNavContextPopup(sender vcl.IObject, mousePos types.TPoint, mnu.Popup2() } +func (f *TMainForm) RefreshCurrentItem() { + item := f.Buckets.Selected() + if item == nil { + return // nothing to do + } + + ndata := (*navData)(item.Data()) + + f.OnNavContextRefresh(item, ndata) +} + func (f *TMainForm) OnNavContextRefresh(item *vcl.TTreeNode, ndata *navData) { isExpanded := item.Expanded()