Haskell/GTK2HSでグラフィカルコマンドラインを作成するにはどうすればよいですか?
質問
Haskellで最初の「実際のプログラム」を作成しようとしています(多項式の場合は積分を解決するもの)が、この部分に完全に困惑しています。
GHCIのような非常にシンプルなものを作りたいです:
> user input
program output
> user input
program output
> user input
program output
>
私のプログラム出力が画像であることを除いて(LaTexを使用して数学的式をPNGに変える) - System.ioを使用してこれを行うことはできません。私がインストールすることができたGTK2HSではそれが可能だと思いますが、この入力/出力ダイアログを作成する方法を理解できません。
時間があればそれがどのように行われているかを教えてください。どうもありがとう!
解決
Claudiusmaximusのおかげで、次のソリューションを思いつくことができました。
module Main where
import Graphics.UI.Gtk
main = do
initGUI
----------------
win <- windowNew
onDestroy win mainQuit
vb <- vBoxNew False 3
log <- vBoxNew False 2
sc <- scrolledWindowNew Nothing Nothing
scrolledWindowSetPolicy sc PolicyNever PolicyAutomatic
sw <- layoutNew Nothing Nothing
en <- entryNew
----------------
scrolledWindowAddWithViewport sc log
boxPackStart vb sc PackGrow 0
boxPackStart vb en PackNatural 0
set win [ containerChild := vb ]
en `onEntryActivate` do
txt <- entryGetText en
entrySetText en ""
l <- labelNew (Just txt)
boxPackStart log l PackNatural 0
widgetShowAll log
Just ran <- scrolledWindowGetVScrollbar sc
adj <- rangeGetAdjustment ran
max <- adjustmentGetUpper adj
adjustmentSetValue adj max
----------------
widgetShowAll win
mainGUI
他のヒント
最初にバックエンドを実装する必要があると思います。つまり、コマンドを解析して出力画像を作成するためのコードを実装する必要があります。それが機能する場合、GUIを実装できます。基本的に、入力用のテキストエントリとテキストと出力用の描画ウィジェットが必要なものが必要です。 GUIプログラミングは(iMho)些細なことではないため、まずGTK / GTK2HSチュートリアル /紹介をご覧ください。
所属していません StackOverflow