2016-01-16 30 views
1

我正在編寫Haskell(和Ur/Web,但那是另一回事)中的GUI,並且有幾個開發分支使用了我正在同時開發的不同庫和方法。在嘗試將使用WX圖形後端(wxHaskell,reactive-banana)的瀏覽器支持的UI庫中的一些代碼與HTML元素(三個penny-gui,更確切地說)遷移到本地GUI applet時,我遇到了一些麻煩了解如何將基於構建<table>元素的代碼遷移到等效的wxWidgets構造。在我看來,有沒有簡單的方法來實現我自己的這樣的事情,並沒有本地的等值。我正在尋找實施建議,指向現有實施,合適的替代方案等等。如果需要,我可以提供更深入的設計細節。<table>-like UI elements for wxHaskell/wxWidgets

html表格僅用於對齊和顯示數據,其中每行中的一個單元格是反應式控件,並且在任何給定時間顯示的行數也可以反應性地變化。

回答

2

HTML表格可以在其單元格中包含任何東西,所以它太豐富而無法用任何本機控件表示。這真的很難作出建議不知道你到底是什麼在表中,但不同的可能性是:

  • wxHtmlWindow:這可以用來重用你的HTML,只要它足夠簡單(HTML4基本),你可以如果需要,將本地控件嵌入到它中。
  • wxGrid:這是最靈活的部件,但它不是原生的。
  • wxDataViewCtrl:這是GTK和OS X下的本地控制(但不是MSW,您需要使用wxListCtrl來實現100%原生方法),但與上述任一解決方案相比,它非常有限。
+0

在我的小部件庫的構建中,我試圖儘量保持一般性,但我所考慮的特定應用程序除了我提到的被動小部件之外,只包含文本和小圖標。該小部件又是一個提升的按鈕,可在點擊時快照時間變化的值。 – archaephyrryx

+0

這看起來適用於wxDVC,但您必須爲小部件編寫自定義渲染器。 –

+0

我習慣於爲我的小部件編寫自定義渲染器。您是否有任何可以幫助我實施DVC表的示例/指南?我對圖書館沒有太多的瞭解。 – archaephyrryx