問題タブ [threepenny-gui]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
121 参照

haskell - Threepenny-gui: 'file' 入力からファイル パスを取得する

コンソール ツールの簡単なフロントエンドを作成します。一般に、さらに開いて処理するには、いくつかのパラメーターと入力ファイル パスが必要です。私の考えは、次のようなものを配置することでした

そして、「値」を介して選択されたファイル パスを取得します。ただし、セキュリティ上の理由により、ブラウザは選択したファイルへのフル パスを提供していないようです。
threepenny-gui で任意のファイル チューザを配置することは可能ですか?

0 投票する
0 に答える
93 参照

haskell - Haskell - threepenny で画像ファイルを生成して使用することはできません

私はできるだけ具体的にしようとします。Haskell、Threepenny、DOT を使用してグラフ視覚化 GUI を作成しようとしています。

グラフを変更するボタンを作成しました。変更したグラフを画像に保存し、グラフが変更されるたびにその画像を読み込もうとしています

ただし、Threepenny GUI を実行することはできますが、イメージを書き込んでスローされた関数を更新することはできません。

RunGraphviz 関数は IO () を返し、Threepenny GUI は UI () を使用します。「liftIO」を使用しようとしていますが、「Prelude head.empty list」というエラーが発生しています。ここにスニペットがあります

0 投票する
2 に答える
271 参照

haskell - Threepenny GUI でボタンのレイアウトと位置を変更するには?

threepenny-gui パッケージで作成された GUI のボタンやその他の UI 要素のサイズと位置を変更するにはどうすればよいですか?

ドキュメントにGraphics.UI.Threepenny.Attributesは、おそらく役立ついくつかの関数がリストされていcoords :: WriteAttr Element Stringます。しかし、私はそれらを使用する方法を理解していません。String具体的には、議論がどうあるべきか理解できません。

ありがとう

0 投票する
1 に答える
153 参照

haskell - Threenpenny gui - クリック時にマウス座標をキャプチャし、それらを使用して何らかの状態を構築する

私が達成したいこと:

ユーザーがキャンバスをクリックするたびに、そのクリックからマウス座標を取得して を構築し、Point x yこの状態を に保存[Point]して、後でユーザーがボタンをクリックしたときに、それ[Point]を何らかの関数の入力として使用できるようにします。

私がやったこと:

Point次のような単一値コンストラクターを使用して、データ型を定義しました。

UIユーザーインターフェイスを定義するために3ペニー(モナド?)をセットアップしまし400 x 400 canvasbutton

次に、main 内で UI を実行する関数を定義します。

なので、最初はユーザーがクリックした場所に点を描く作業をしていました。これはかなり簡単に実現できPoint x yました。ラムダ引数で a をmousedown作成し、キャンバスに描画しました。私はそれを解決したのでそのコードを省略しています。現在の問題がそれに関連しているとは思いません(つまり、そのラムダのスコープ内でポイントを構築して描画する)。

そのラムダのスコープへのバインドを描画してから破棄する代わりに、Pointそのポイントをリストに保存したいと思います。ユーザーがボタンをクリックしたときにそのリストを読み取れるようにしたいと思います。

私はFRPスタイルについて少し調査をBehaviour行いましたEventhttp://hackage.haskell.org/package/threepenny-gui-0.4.2.0/docs/Reactive-Threepenny.html )。これは何かであると理解していますこれは、還元パターンのようなものを作成するのに役立ちますが、私の脳は溶け始めています.

別の StackOverflow の投稿 ( Mixing Threepenny-Gui and StateT ) に基づいて、Threepenny UI イベントに接続してイベント ストリームを作成し、accumBそのストリームからの各イベントをいくつかの状態動作のストリームに蓄積するために使用することになっていることを収集します。次に、その状態の動作を適用してイベントストリームに戻し、その最終ストリームで観察してUIを更新します(単純だと思います... xD)

少なくともそれが私が集めたものであり、リンクされた StackOverflow の質問への回答でコードをテストし、その特定の質問で提起された問題を解決しました。しかし、イベントストリーム (そのスニペットではカバーされていません) でx yマウスの位置をキャプチャし、それを使用してストリームを構築する必要があり、それが私が立ち往生している場所です。受け入れられた回答コードを目的に合わせて変更して実装しようとしましたが、ピースがどのように組み合わされるかを明らかに誤解しているため、大量の型エラーが発生しました。mousedownPoint

リンクされたStackOverflowの質問で受け入れられた回答のコードを変更しようとしたのは次のとおりです。

誰でも光を当てることができますか?私は壁にいます:-(

0 投票する
0 に答える
42 参照

haskell - threepenny-gui: ウィンドウを閉じます

でウィンドウを閉じることはできますthreepenny-guiか? パッケージにそのような Haskell-land 関数は見つかりませんでした。私も両方から s を試しましrunFunctionたが、どちらのタイプもマーシャブル (インスタンスなし) ではないため失敗しました。それを呼び出すにはウィンドウ インスタンスが必要です。CoreForeign.JavaScriptWindowToJSclose()