Raspbian stretch MonoDevelop に Eto Addin を追加する
見つけたので。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch(9.0) 2018-06-27
- Mono 5.16.0
- MonoDevelop 7.6 build 711
- Eto.Forms 2.4.1 NuGetパッケージ
手順
- ダウンロード
- インストール
- プロジェクト作成
1. ダウンロード
- github Eto Releasesから最新の
.mpack
ファイルをダウンロードする
2. インストール
- MonoDevelopを起動する
- メニュー→
ツール
→拡張機能
拡張機能マネージャ
ダイアログが表示される
ファイルからインストール
- ダウンロードしたファイルを選択する
なぜかアンインストール
と書いてある。翻訳ミスなのか。
3. プロジェクト作成
- メニュー→
ファイル
→新しいソリューション
マルチプラットフォーム
→アプリ
→Eto Application
- 名前などを適当に入力する
場所
を入力する
- プロジェクトが作成される
4. 実行
- Ctrl+F5で実行
- 怒られた
- ファイルパスを辿ってexeファイルを直接叩くと実行できた
ソースコード抜粋
2プロジェクトある。
- HelloEto.Desktop/Program.cs
- HelloEto/MainForm.xeto.cs
- HelloEto/MainForm.xeto
HelloEto.Desktop/Program.cs
using System; using Eto.Forms; using Eto.Drawing; namespace HelloEto.Desktop { class Program { [STAThread] static void Main(string[] args) { new Application(Eto.Platform.Detect).Run(new MainForm()); } } }
HelloEto/MainForm.xeto.cs
using System.Collections.Generic; using Eto.Forms; using Eto.Drawing; using Eto.Serialization.Xaml; namespace HelloEto { public class MainForm : Form { public MainForm() { XamlReader.Load(this); } protected void HandleClickMe(object sender, EventArgs e) { MessageBox.Show("I was clicked!"); } protected void HandleAbout(object sender, EventArgs e) { new AboutDialog().ShowDialog(this); } protected void HandleQuit(object sender, EventArgs e) { Application.Instance.Quit(); } } }
HelloEto/MainForm.xeto
<?xml version="1.0" encoding="UTF-8"?> <Form xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="My Eto Form" ClientSize="400, 350" Padding="10"> <StackLayout> <Label>Some Content</Label> </StackLayout> <Form.Menu> <MenuBar> <ButtonMenuItem Text="F&ile"> <ButtonMenuItem Text="Click Me!" Click="HandleClickMe" /> </ButtonMenuItem> <MenuBar.ApplicationItems> <ButtonMenuItem Text="Preferences.." Shortcut="{On Control+O, Mac=Application+Comma}" /> </MenuBar.ApplicationItems> <MenuBar.QuitItem> <ButtonMenuItem Text="Quit" Shortcut="CommonModifier+Q" Click="HandleQuit" /> </MenuBar.QuitItem> <MenuBar.AboutItem> <ButtonMenuItem Text="About..." Click="HandleAbout" /> </MenuBar.AboutItem> </MenuBar> </Form.Menu> <Form.ToolBar> <ToolBar> <ButtonToolItem Text="Click Me!" Click="HandleClickMe" /> </ToolBar> </Form.ToolBar> </Form>
所感
- ファイルサイズが40MB以上ある模様……1つのHelloプロジェクトでこれは大きすぎる
- デザイナが表示できない……