Use Enter / Space to view and traverse through the list of languages
Use Enter / Space to view and traverse through the list of languages
Linuxデスクトップ環境がずっと死んでいて消耗していますが、今月はかろうじて生き延びました…(!?) 2月はAndroid 15というでかいリリース(developer previewですが)があった関係でだいぶ揺り動かされました。先にそっちから書きます。 Android MidiUmpDeviceService対応 数日前にAndroid 15のMIDI 2.0対応についてここに書きました。 atsushieno.hatenablog.com AAPはイベントメッセージのフォーマットとしてUMPを採用しているし、任意のインストゥルメントプラグインをMIDI 1.0のMidiDeviceServiceとして公開できる仕組みを構築しているわけで、MidiDeviceServiceのUMP対応が出てきたら、当然やらないわけにはいきません。 resident-midi-keyboardを開発し
Today we released MonoMac, a new foundation for building Cocoa applications on OSX using Mono. MonoMac is the result of years of experimentation in blending .NET with Objective-C and is inspired by the same design principles that we used for MonoTouch. It is also the result of weekend hacking as our day to day work revolves around Mono's efforts on Linux servers, Linux desktops, Visual Studio inte
Linux Installing dependencies MonoDevelop requires the following packages (or newer versions): Mono 5.10 Mono.Addins 0.6 Gtk# 2.12.45 monodoc 1.0 F# (fsharpc program) cmake libssh2 You can build them from git, source releases or, even easier, simply install the pre-built packages appropriate for your platform. We strongly recommend you install everything from packages if possible. If not, you shou
Ubuntu 9.04 で IronPython が動かせるので Gtk# を試してみる。 Mono, Gtk# and ironpython | Kushal , kD & FOSS まぁ他国ならこんな簡単に見つけることができるんだが。 私がよく書くコードと同様にするなら class を作って #-*- coding:Latin-1 -*- """ Error #-*- coding:utf-8 -*- """ import clr clr.AddReference('gtk-sharp') import System import Gtk class GtkSharpWindow(Gtk.Window): """ GtkSharp Test """ def __init__(self, title): """ Gtk.Window.__init__(self) is No Constr
clipoli を正式公開。 それとトップページのレイアウト変更、ついでに幾つかのアプリを公開終了をした。 vector に放置している奴も公開停止以来を、何を今ごろだが… コンパイルしないで Blog と同 […]
last modified October 18, 2023 This is GTK# tutorial for the C# programming language. This tutorial is suitable for beginners and more advanced programmers. Table of contents GTK# is a wrapper over the GTK+ for the C# programming language. The library facilitates building graphical GNOME applications using Mono or any other compliant CLR. Applications built using Gtk# will run on many platforms in
参考 using System; using Gtk; using Glade; class DemoWindow { void on_button1_clicked(object o, EventArgs e) { Console.WriteLine("Clicked!"); } public DemoWindow () { Glade.XML gui = new Glade.XML("./project1.glade","window1",""); gui.Autoconnect (this); } } class GtkSharpDemo { static void Main() { Gtk.Application.Init(); DemoWindow dw = new DemoWindow(); Gtk.Application.Run(); } } mcs -pkg:gtk-sha
参考 using Gtk; using Glade; class DemoWindow { public DemoWindow () { Glade.XML gui = new Glade.XML("./project1.glade","window1",""); } } class GtkSharpDemo { static void Main() { Gtk.Application.Init(); DemoWindow dw = new DemoWindow(); Gtk.Application.Run(); } } mcs -pkg:gtk-sharp-2.0 -pkg:glade-sharp-2.0 demo.cs して、 $ mono demo.exe で起動します。 参考 編集
「Pythonにおけるクラスの静的メンバについて」で静的メンバについて扱ったが、Pythonはその扱い方は特殊な例に入ると思われる。 ここではそれと同じことをC#という言語で書いてみることにする。 なお、C#については初心者で全く詳しくないので、色々なテストも同時に行っている。また、コメントも多めに書いている。 using System; /* * 名前空間TestNSのクラスFooはTestNS.Foo *「using [名前空間名];」を記述するとその部分を省略できる *「System.Console.WriteLine()」は「using System;」を記述すると「Console.WriteLine()」と書ける */ namespace TestNS { /* * Inline XML Documentationによるコメント * summary要素は概要のコメントとなる *
「openBVEのバージョン0.9.6.0を試すが...」で路線と車両のデータを読み込んだ後シミュレータのウィンドウが出る(あるいはフルスクリーンに切り替わる)ところで落ちてしまった件は、正式リリースされたバージョン1.0.0.0でも同様*1だったものの、回避はできるということが分かった。 該当する行と関連した行をコメントにしたところ... 詳しく見てみると パッチ 該当する行と関連した行をコメントにしたところ...下が該当部分とその周辺なのだが [引用]ファイル名: openBVE/OpenBve/Program.cs より // icon { string File = Interface.GetCombinedFileName(Interface.GetDataFolder(), "icon.bmp"); if (System.IO.File.Exists(File)) { try
ここではMonoDevelopを用いて小さなGtk#*1アプリケーションを作成する上での作業についてメモしておく。コードはほとんどいじっていないので、C#言語についての内容はほとんどここでは扱っていない。VB.NETについては今後も扱う予定はない。 作成手順 MonoDevelopはGTK+ 2のAuroraエンジンと相性が悪い? 作成手順 新しい「ソリューション」を「ファイル」メニューかCtrl+Shift+N、あるいは「ようこそ」タブの「共通のアクション」のところから開く テンプレートのダイアログでは「C# - Gtk# 2.0 プロジェクト」を選択し、保存先を指定・その後好みによりプロジェクトの機能の設定を行うと初期状態のプロジェクトが開かれる 「ソリューション」のツリービューにある「ユーザインターフェース」のフォルダから「MainWindow」を開いてコード部分の下に「ソースコード
NautilusなどのGUIファイルマネージャやbinfmt_misc(関連記事)ではファイルの種類に応じてそれを開いたときに、関連付けられたアプリケーションに引数としてそのファイルを渡すことができる。しかし、.exeファイルの場合 Wine上で動作するWindows向けの実行ファイル Mono上で動作するMono/.NETアセンブリ と複数の可能性があるため、直接どちらかに関連付けをしてしまうともう片方では使えない。 fileコマンドでWindows向け実行ファイルとMono/.NETアセンブリを識別可能 ファイルを識別するfileコマンドはファイル先頭にある種類ごとに固有の文字列「マジック」で大まかなファイルの識別をするだけでなく、種類によっては更に深い情報を調べて表示してくれる。 幸いなことに、バージョン4.26の時点のfileコマンドでは、Windows向けの実行ファイルとMono
「GLibで連結リスト(リスト構造)にデータを追加する方向とその時間について」のテストをC#言語に移植してMono上で実行してみた。 メモ GLibのGTimerに相当する機能*1はC#ではSystem.Diagnostics.Stopwatchオブジェクトとなり、使い方も似ているが、経過時間の形(取り出し方や単位・形式)や一度時間の計測を止めた後の再開(リセットされるかどうか)に関する挙動などは異なるので注意。 リストはSystem.Collections.Generic.Listオブジェクトにて山括弧に中のデータ型の名前を指定して使用する(「List<int>」や「List<String>」のような形)。末尾にデータを追加するメンバ関数はAdd()だが、先頭に追加するものはないので、先頭へデータを追加する処理ではInsert()で0番に追加する形をとった。 データを逆順にして手前から追
「PyGTKで最近開いたファイルを記憶する」で最近使用したファイル一覧へファイルを追加するためのコードをPython(PyGTK)で記述したが、ここでは同じことをC#言語(Gtk#)とVala言語で書いてみた。 (2009/7/10)ボタンのラベルなどの微調整を行った。 C#(Gtk#) [任意]ファイル名: RecentManagerTest.cs using System.IO; using System; using Gtk; /* * gmcs -out:RecentManagerTest.exe RecentManagerTest.cs -pkg:gtk-sharp-2.0 */ namespace RecentManagerTest { class MainWindow : Gtk.Window { Gtk.AccelGroup accelgroup; Gtk.ImageMen
「PyGObjectで gobject.GObjectクラスを継承してGObjectプロパティを用いる(後半)」ではPyGObjectでプロパティ値が変更されたときにGObjectのシグナルを用いてハンドラと関連付ける処理を扱ったが、ここではVala言語とC#言語の場合についてを扱う。 Vala Vala言語はGLib(GObjectライブラリ含む)を常に用いるので、標準の機能としてGObjectのプロパティが扱え、値の変更時のシグナルもPyGObjectと同様に使用可能で、特定のプロパティに対してのみシグナルを接続するということも可能となっている。 /* いずれかのプロパティ値が変更されたときにハンドラが呼ばれるようにする */ [GLib.Objectを継承したクラスのオブジェクト].notify.connect([ハンドラ]); /* 特定のプロパティ値が変更されたときにハンドラが呼
GTK+とその多くの言語バインディング(例:PyGTK)では、描画エリア(GtkDrawingArea)への描画処理を記述する場合にはGTK+の下位ライブラリのGDKもしくは高い表現力を持つCairoライブラリを用いることになる(関連記事:前半 後半)。 しかし、Mono/.NET向けのGtk#では、Monoの機能を用いてWindows Formsで行うようなSystem.Drawing.Graphicsクラスによる描画処理をGTK+上で用いることができる。動作速度はあまり速くない印象があるが、「System.Drawing.Graphicsクラスによる描画処理には慣れているが、GTK+の描画には慣れていない」「同じアプリケーションについてWindows Forms版とGtk#版と用意してOSごとに見栄えを合わせつつ、描画処理は同じように行いたい」などの場合には役に立つかもしれない。 手順
「PyGTKでシステムトレイを使用してメニューを表示する」と同じ処理をGtk#で書いてみたのだが、そのコードを貼り付ける前に作成上の幾つかのメモを先に書いておくことにする。C#言語に関するものも含む。 C#におけるクラスの継承 クラス定義のとき、クラス名の右に「 : [親クラス名]」を書くことによりそのクラスを継承できる。 class TrayMenu : Gtk.Menu // Gtk.Menuを継承 Pythonとは異なり、複数のクラスを親クラスとした(多重)継承は行えない仕様となっている。多重継承ができると使い方によっては問題が起こる場合がある*1ようで、代わりにこの問題を回避するための「インターフェース」というもの*2がある。 例えばPyGTKにおいてgtk.ListStoreオブジェクトやgtk.TreeStoreオブジェクトが共通して継承しているgtk.TreeModelクラス
「Gtk#のコード作成上の覚え書き」のメモに加えて少しの追加メモを書いてから、「PyGTKでシステムトレイを使用してメニューを表示する」をGtk#に移植したものを貼り付ける。 メニュー項目の作成について 内蔵のストックアイコンを用いつつメニュー項目には好きな文字列を指定したいという場合、下のような流れとなる。 this.item1 = new Gtk.ImageMenuItem ("item1"); this.item1.Image = new Gtk.Image (Gtk.Stock.Preferences, Gtk.IconSize.Menu); ストックアイコンに応じた文字列(「終了」など)を自動的に付けたい場合は this.item_quit = new Gtk.ImageMenuItem (Gtk.Stock.Quit, null); のようになる。もしそのストックIDに関連付け
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く