問題タブ [genie]
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.
gtk - ToolButton クリック信号 (HeaderBar 内) を使用するには?
シンプルなツールボタンを作成する際、Vala ガイドのツールバーの例のように、clicked.connect インターフェイスを使用できます。ボタンをHeaderBarに追加するインターフェイスは、その例に示されているものと似ています。ただし、クリックされた接続の処理方法が異なるようです (または、私が見逃しているものがあります)。
次の例は、ダイアログを開くボタンが HeaderBar にパックされている小さなテキスト エディターです。ただし、clicked.connection 構文はエラーを返します。
コードは次のとおりです。
コンパイル時に open_button.clicked.connect が返されます。
HeaderBar ウィジェットを使用すると、そのシグナルの処理方法が変わりますか?
行がコメントされている限り、コードは機能します (openfile 関数のスタブを追加することをお勧めします)。
ありがとう
アップデート
エラーは実際には上に添付した本文にはなかったので、この質問は更新に値します。
エラーは関数の定義にありました。私が書いた:
代わりにすべきとき:
または単に:
genie - Genie でのグローバル変数の回避
以下は、Genie の ToolbarButton の作業コードです。目的は、選択したファイルの uri を取得し、それをクラスのコンストラクト/init に戻すことです。問題は、私が遭遇したすべての例で、グローバル _variables が使用されていることです (以下のコードに示すように)。直感的ではないように見えます。コードが大きくなるたびに、これらの変数が蓄積し始めるため、バグを除去することがより困難になるのではないかと心配しています。関数 openfile が uri をクラスのコンストラクト/init 内の通常の変数に返すようにする他の方法はありますか?
コードは次のとおりです。
それとも、_variables の累積についてまったく心配する必要はありませんか?
gtk - ダイアログでの 2 回のクリックを修正する方法
別のファイル (テキスト バッファ) の作成を本当に続行するかどうかをユーザーに尋ねるダイアログを作成しました。ただし、私のアプローチには、[はい] ボタンまたは [いいえ] ボタンを 2 回クリックする必要があるものがあります。
私は何を間違っていますか?
特定の関数のコードは次のとおりです。
それ以外の場合、機能は正常に機能しています。
gtk - 検索エントリの表示と非表示 - Gtk
バックグラウンド
これは、Genie で小さなテキスト エディターを作成する演習の一部です。これまでのところ、アプリは非常にうまく機能しています。
標的
ヘッダーバーの検索ボタンをクリックすると表示される検索エントリ ボックスの作成に行き詰まりました。
コード
問題
私のアプローチは、検索エントリの表示/非表示を実装するために、小さな関数 (show_search) を作成することでした。プログラムは正常にコンパイルされますが、実行時にエラーが発生します。
これらは、検索ボタンをクリックすると発生します。誰かがこのコードの私のエラーを指摘できますか? このエラーは何について不平を言っていますか? GTK_IS_WIDGET アサーションが失敗した?
segmentation-fault - 簡単なタイプキャストでの Genie Segfaults
Valac 0.30 をインストールしました。次のコードを実行すると、
セグメンテーション違反が発生します。GDBは私にこれを教えてくれます:
この問題を抱えている他の人を見たことがありますが、私にとってはうまくいった解決策はありませんでした。
vala - 動作指向設計でクラス間で情報を渡す
私は小さなテキスト エディタを、前の質問で提案された動作設計パターンに適合させることにしました。キーの組み合わせを追加してオープニング、保存アクションなどを呼び出すことができるようにすることで、ビヘイビア デザインが私の小さなプロジェクトの規模を拡大するのにどのように役立つかがすぐに明らかになりました。
ただし、この設計は主にクラスを使用しており、クラス間の通信方法がわかりません。現在のファイル (SaveFile) の保存を処理する新しいクラスが追加されましたが、(DocumentFileSelector クラスで取得された) 現在のファイルの URI を取得できません。
私の疑いでは、それを行う方法はクラス プロパティを使用することですが、実際には document_selector 変数にそのプロパティを継承させることができないため、それを SaveDocument クラスに渡すことができます。
コードの関連部分は次のとおりです。
質問
最後に開いたファイルの URI 情報を SaveDocument クラスに渡す方法は?
追加の質問として、各クラスのコンストラクトの後の最初の行は何をしているのですか? 次のような行:
コンストラクト( 親:ウィンドウ )
/li>
編集
それでも問題を解決できませんでした。最近試したことは、DocumentFileSelector クラス内に whichFile() という別のメソッドを作成することでした。このメソッドは uri のみを返します。実行時にエラーが発生します: FileUtils.set_contents ( DocumentFileSelector.whichFile(), _receiver.get_text(start, end,false))
。
コードの変更点は次のとおりです。
genie - クラスが見つからないというエラー
ここに質問を投稿せずに問題を解決するために最善を尽くしています。ただし、valadoc 検索システムは最近壊れており、Genie コードに関しては #vala IRC チャネルはあまり役に立ちません (当然のことです)。
標的
この質問からこの初期の pandoc gui アプリに OOP Gtk インターフェイスを提供しようとしています。
問題
pandoc-gui.gs:56.24-56.43: error: The type name `DocumentFileSelector' could not be found\n _document_selector:DocumentFileSelector
コンパイル時にエラーが発生しました。クラスはプログラムの後半で定義されますが、init から見えなくなった原因を見つけることができないようです。
これは初期化ルーチンです:
これは Convert クラスです。
そしてインターフェース:
そして DocumentFileSelector クラス:
質問
この場合、DocumentFileSelector が init によって認識されないのはなぜですか?
注: 最小限の再現性のある質問を作成する方法をまだ考えていますが、すべての相互依存部分がある OOP に関しては、思ったほど単純ではありません。このため、私が提供したものが役に立たなかった場合に備えて、ここにコード全体を示します。