問題タブ [gtksourceview]

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 投票する
0 に答える
86 参照

linux - gEditのGtkSourceViewで表記を終了せずにブロックを定義する方法は?

私のソース構文は、ブロック名に続く # で始まり、別のブロックが定義されたときに終わるブロックの組み合わせです。

目標は、php コードを php として強調表示し、JavaScript を JS などとして強調表示することです。

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

c - サブパターンを逆参照するための gtksourceview による gedit 構文の強調表示?

次の例では、2 行目の "timeout" が強調表示されますが、再度強調表示されることはありません。gtksourceview は、ファイル全体のすべてのインスタンスに一致する「サブパターン」で何らかの後方参照をサポートしていますか?

gtksourceview ウェブサイト マニュアル

/usr/share/gtksourceview-2.0/language-specs/c.lang

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

c - gtk_source_undo_manager_begin_not_undoable_action / gtk_source_undo_manager_end_not_undoable_action が機能しない

gtk+-2.0 & gtksourceview-2.0 を使用して、C で独自のテキスト エディターを作成しようとしています。行き詰まったときに gedit ソースを使用していましたが、明らかにこの機能を使用しておらず、その使用例をオンラインで見つけることができません。テキスト ファイルを開いてその内容をテキスト バッファに配置すると、これは取り消し可能なアクションとして登録されます。このプロセスを元に戻せないようにしたいので、次のように配置しました。

gtk_source_undo_manager_begin_not_undoable_action(um);

私のopen_activated関数(以下に提供)の冒頭で、そして:

gtk_source_undo_manager_end_not_undoable_action(um);

この同じ関数の最後に。devHelp で提供されるヘルプによると、これら 2 つの行の間のすべてを元に戻すことはできないと書かれていますが、元に戻すことができます。私は何が欠けていますか?これと同じ機能を達成するためのより良い方法はありますか?


残念ながら、言語マネージャーのような gtk_source_undo_manager_new () または gtk_source_undo_manager_get_default () はありません。GtkSourceUndoManager のドキュメントは次のとおりです。

説明

GtkSourceUndoManager インターフェイスを実装して、GtkSourceBuffer にカスタムの取り消し管理を提供できます。gtk_source_buffer_set_undo_manager を使用して、特定のソース バッファー用のカスタム取り消しマネージャーをインストールします。

取り消しスタックの取り消し状態またはやり直し状態がそれぞれ変更された場合は、gtk_source_undo_manager_can_undo_changed および gtk_source_undo_manager_can_redo_changed を使用します。

詳細

GtkSourceUndoManager

GtkSourceUndoManagerIface

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

c - gtk+/gtksourceview 行コメントまたはブロックコメントを挿入する方法

gtk+-2.0 gtksourceview-2.0 を使用して C でテキスト エディターを作成しています。行またはブロックにコメントを付ける方法に関する情報を見つけるのに苦労しています。これらのコメント行を強調表示する方法については多くの情報が見つかりましたが、実際にこれらのコメントを作成する方法については何もありません。行き詰まったときに使用する google、devhelp、および gedit と anjuta のソースを検索しました。喜びはありません。

この機能をゼロから作成する必要がありますか、それとも gtksourceview にこの機能を有効にする既存の関数がありますか? ゼロから書いてもかまいません。基本的な機能のように思えます。車輪の再発明に時間を無駄にしたくありませんでした。ありがとう。

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

python - PyGObject の GtkSourceView を使用して Glade から GUI をロードする

PyGObject に GtkSourceView ウィジェットを持つ Glade ファイルを使用しようとしています。Glade で新しい GtkSourceView 3.0 の使用を開始する方法に関する小さなガイドを書きました: http://cjenkins.wordpress.com/2012/05/08/use-gtksourceview-widget-in-glade/

問題は、PyGObject から Glade をロードしたいときです。

そのファイルを実行すると、次のエラーが発生しました。

Glade ファイル (test.glade) は、GtkSourceView ウィジェットを含む単なるウィンドウです。

これを解決する方法は、今のところ私の知識ではありません。add_from_file() を呼び出す前に、何らかのタイプを登録する必要があると思います。どんなアイデアでも大歓迎です。

私は使用しています:

  • Ubuntu プレサイス 12.04
  • 空き地 3.12.0
  • libgtksourceview 3.0
  • Gtk+ 3.0

敬具

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

c - 後のセッションで使用するために gtk ノートブックのタブを保存する方法

gtk+-2.0 gtksourceview-2.0 を使用してテキスト エディターを作成しています。エディターを閉じて後で再度開いた後に使用するために、ノートブック内のタブを保存できるようにしたいと考えています。gtk_notebook_* の下の devhelp には、有望に見えるものは何も表示されません。これらのファイルへのパスをデータベース テーブルに保存し、データベースからテーブルを読み取り、アプリケーションの起動時にタブを作成することもできますが、これは少し面倒です。多くのエディターにはこの機能が組み込まれています。

これはgtkで可能ですか?私はCに比較的慣れていません.これらのパスを(データベース以外に)保存する他の方法はありますか? ありがとう。

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

c - gtktextview/gtksourceview の特定の行に (プログラムで) スクロールする方法

C と gtk+ に慣れるために、テキスト エディターを作成しています。私は gtk+-2.0 & gtksourceview-2.0 と gtk_scrolled_window を使用しています。goto 関数ブラウザーを作成する最初の試みとして、ドキュメント内で見つかった関数の配列と、関数が発生する対応する行の配列を単純に作成するだけでよいと考えました。私はそれだけのことをしました。devhelp で簡単に見つけられる goto line 機能がないことに驚きました。gtk_text_view_scroll_to_mark () が (マークを作成した後に) 私が望むものであるように聞こえますが、すべての *scroll_to 関数には within_margin が必要ですが、これは正直言ってよくわかりません.:

開発者ヘルプから:

この関数の目的で有効な画面は、inside_margin のサイズのマージンだけ縮小されます。

どういう意味ですか?

私も近いですか?この行番号へのスクロール機能を作成するにはどうすればよいですか?

ありがとう。

更新:次の 3 つの関数は、バッファー内の行にスクロールするために使用されました。

gtk_text_view_scroll_to_mark の最後のパラメーターは、ターゲット行番号を取得してバッファーの一番上の行に揃えるために使用されました。このパラメーターはすべての画面サイズで機能するとは限りませんが、テストしていません。

gtk_text_view_scroll_mark_onscreen 関数は行番号に近づきましたが、テキスト領域の下部から数行離れていました。

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

c - gtktextview/gtksourceview から C のテキストを解析する方法

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

c - プログラムでgtkテキストバッファ内のテキストを選択する方法(一次選択)

私はgtk+-2.0とgtksourceview-2.0を使用してテキストエディタを書いています。プログラムでテキストのブロックを選択し、それをOS(Linux)のプライマリ選択クリップボードに追加する方法を見つけるのに問題があります。マウスでテキストのブロックを強調表示するか、Shiftキーを押しながら矢印キーでテキストを選択した場合と同じように、

devhelpの「gtk_text_buffer_get_selection_bound()」の下に次のステートメントがあります。

バッファ内で現在選択されているテキストは、「selection_bound」マークと「insert」マークの間の領域です。

編集: gtk_text_buffer_select_range()、これら2つのマークの位置を設定します。

次のコードブロックは、テキストiters start&endを使用して指定された領域を、(必要に応じて)プライマリ選択クリップボードにコピーします。

アイデアをありがとう!!!

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

c - gtk +テキストエディタvimタイプモード(挿入/コマンド)

gtk+2.0とgtksourceview2.0で作成しているテキストエディタにvimのような機能を取り入れようとしています。「i」を押して挿入モードに入る場合を除いて、動作していますが、このモードに正しく入りますが、テキストバッファに「i」と入力します。これが、escキーが押されたときにコマンドモード(挿入モードを終了)に入るように設定されたキープレス機能です。前に述べたように、iキーが押されたときに挿入モードに入ります。

ご覧のとおりgtk_text_view_set_editable (text_view, FALSE)、はコマンドモードに入る gtk_text_view_set_editable (text_view, TRUE)ときに設定され、挿入モードに入るときに設定されます。ただし、挿入モードに入ると、キーが押された場合の最後のコマンドであっても、キーストロークがバッファに登録される前にtext_viewが編集可能に設定されます。挿入モードに入るときにiがテキストバッファに配置されないようにするにはどうすればよいですか?