このページはCalíope 1.7を紹介しています。私がいま作っているバージョンです。1.6は、Mac、iPad、iPhone、Apple Watch、Apple TV、Apple Vision Pro向けにApp Storeで公開中です。それぞれの機能がどのバージョンで入ったかは変更履歴に書いてあります。

すべてのトピックに「Calíopeで開く」ボタンを追加します。アプリがインストールされている場合にのみ機能します。

ジェスチャ

iPadのタッチジェスチャ

iPad版のCalíopeが宣言しているジェスチャ、それぞれが働く場所、そしてほかのアプリにはあってこのアプリにはないもの。

iPad版のCalíopeが宣言しているジェスチャは少なく、決まった場所にだけあります。以下がそのすべてです。最後にないものも挙げておくので、探す手間が省けます。

ワークスペース内の移動
- 左端から内側へスワイプ — 「ツール」サイドバーを表示します。これがランチャーです。スキーマツリーではありません。スキーマツリーはSQLエディタの中にあり、専用のボタンがあります。
- タブをタップ — そのタブをアクティブにします。×をタップ — タブを閉じます。

SQLエディタ
- 単語を長押し — 「定義へ移動」と「シンボル名を変更」があるメニューを開きます。名前の変更は、触れた単語だけでなくスクリプト全体に及びます。
- テキストの選択(ダブルタップ、トリプルタップ、ドラッグハンドル)はiPadOS自体のもので、Calíopeは手を加えていません。

接続マネージャ
- プロファイルをダブルタップ — 選択と接続を一度に行います。
- プロファイルを左から右にスワイプ — 「グループに移動」が現れます。
- プロファイルを右から左にスワイプ — 「削除」が現れます。指を離しても削除はされません。ボタンが現れるだけで、それをタップすると、接続名を示して確認を求めます。
- 「グループを管理」シートの中でグループを右から左にスワイプ — 「削除」が現れ、こちらにも独自の確認があります。グループを削除すると、その中の接続も削除されるからです。

接続マネージャの外には、さらに5つあります。どれも右から左で、何かを実行する前に確認を求めます。「設定」の接続リスト、環境タグのカタログ、「スニペット」での「削除」、そしてRedisの「キー」でのキーの削除と「クライアント」でのクライアントの接続解除です。Calíopeにある、操作を伴うスワイプは以上ですべてです。Macにはなく、iPad、iPhone、Apple Vision Proにだけあります。

2本指でのピンチと、それぞれが動かすもの
- SQLエディタのテキストの上で — エディタのフォントサイズを10〜26ポイントで変えます。この値は保存されるので、次にエディタを開くと前回の大きさのままです。
- 結果グリッドの上で — セルのフォントサイズを11〜26ポイントで変えます。これは別の設定で、一方を変えてももう一方は変わりません。
- 高度なセルエディタでセルの画像の上で — 画像を100%〜800%で拡大・縮小します。ダブルタップすると、全体表示と200%が切り替わります。中心はタップした位置です。
- ER図のキャンバスや実行計画ビューアのツリーの上で — キャンバスの倍率を変えます。これには別のトピックがあります(下記)。

最初の3つはツールバーにもボタンがあり、横に数値が表示されます。ピンチは近道であって、唯一の方法ではありません。

別のトピックで説明しているもの
- 結果の行とセル → 「結果の行とセルのジェスチャ」
- ER図と実行計画ビューア → 「ER図と実行計画ビューアでのパンとズーム」
- パネルの区切り → 「ワークスペースのパネルのサイズ変更」

Calíopeにないもの

タブにはコンテキストメニューがありません。そこからタブを複製したり、ピン留めしたり、ほかのタブを閉じたりはできません。結果の行をスワイプして編集や削除をすることもありません(そのメニューは行を長押しすると開きます)。また、結果グリッドは見出しをタップしても並べ替えません。順序はORDER BYのとおりです(SQLiteエディタの「データ」セクションはこの方法で並べ替えます。そこではクエリーがCalíope自身のものだからです)。そして、横に並ぶツールの帯はコンパクトサイズのときだけ表示されます。ウインドウが広いときのランチャーは「ツール」サイドバーです。

キーワード: ジェスチャ、iPad、タッチ、スワイプ、長押し、ピンチ、フォントサイズ、Magic Keyboard、サイドバー、ツール、タブ、シンボル名を変更、定義へ移動、グループに移動

macOSのマウスとトラックパッドのジェスチャ

Mac版のCalíopeが宣言しているジェスチャ:それぞれの面でピンチすると何が変わるか、ホイールが何をするか、何をドラッグできるか。

Mac版のCalíopeが宣言しているジェスチャは少なく、そのほとんどは何かを拡大または縮小するものです。以下がそのすべてです。

トラックパッドでの2本指のピンチと、それぞれが動かすもの
- SQLエディタのテキストの上で — エディタのフォントサイズを10〜26ポイントで変えます。
- 結果グリッドの上で — セルのフォントサイズを11〜26ポイントで変えます。これは別の設定で、一方を変えてももう一方は変わりません。
- 高度なセルエディタでセルの画像の上で — 画像を100%〜800%で拡大・縮小します。
- ER図のキャンバスや実行計画ビューアのツリーの上で — キャンバスの倍率を変えます。

マウスホイール
ポインタを重ねると、2つのキャンバスとセルの画像を拡大・縮小します。エディタのテキストと結果グリッドの上では拡大縮小はせず、ほかの場所と同じようにスクロールします。

ドラッグ
- キャンバスの背景で — キャンバスを移動します。ER図のノードの上では、テーブルを動かします。
- 拡大した画像の上で — 枠の中で画像を移動します。画像が枠の端から離れることはありません。
- 列見出しの右端で — 列の幅を変えます。
- ER図のテーブルから⌃(Control)を押しながら — 外部キーを作成します。これには別のトピックがあります。

ダブルクリック
- セルの画像で — 全体表示と200%を切り替えます。中心はクリックした位置です。
- 結果のセルで — 「UPDATEを生成」を開きます。これは拡大縮小のジェスチャではなく、別のトピックがあります。

どれも唯一の方法ではありません
ピンチできる4つの面には、ツールバーにボタンがあり、横に数値や割合が表示されます。2つのキャンバスと画像は⌘−、⌘+、⌘0にも応えます。キーボードで同じことができないジェスチャは、キーボードで操作する人を置き去りにします。

別のトピックで説明しているもの
- 結果の行とセル → 「結果の行とセルのジェスチャ」
- ER図と実行計画ビューア → 「ER図と実行計画ビューアでのパンとズーム」
- パネルの区切り → 「ワークスペースのパネルのサイズ変更」
- 右クリック → 「ビューごとのコンテキストメニュー(リファレンス)」

キーワード: ジェスチャ、macOS、トラックパッド、マウス、ホイール、ピンチ、ズーム、フォントサイズ、ダブルクリック、ドラッグ、キーボードショートカット、キャンバス、画像

Apple Vision ProのCalíope

目と手でCalíopeを使う方法:ピンチ、ウインドウの外のバー、複数のウインドウ、壁のウィジェット、キーボード。

Apple Vision ProのCalíopeはネイティブアプリです。iPadと同じアプリを、目と手で使えるようにしたものです。

見てピンチ
- コントロールを見るとハイライトされ、親指と人差し指でピンチすると押せます。iPadのタップにあたります。
- ピンチしたまま保持すると、見ているもののコンテキストメニューが開きます。行、セル、ER図のテーブルなどです。
- ピンチして動かすとドラッグになります。ER図のテーブル、クエリービルダーのカード、パネルの区切り、列の端などです。
- キャンバスの上で両手でピンチすると、iPadの2本指のピンチと同じように拡大・縮小します。
- 押せるものはすべて60ポイント以上あります。2つのパネルの区切りは、線の真上ではなく、少し横を見るとつかめます。

このヘルプが「iPad」と書いているところ
トピックに特に書かれていない限り、iPadについての説明はApple Vision Proにもあてはまり、ジェスチャは次のようになります。タップは見てピンチ、長押しはピンチしたまま保持、ドラッグはピンチして動かす、2本指のピンチは両手でピンチです。

バーはウインドウの外に
各ツールのバー(タイトル、ボタン、ヘルプの「?」)は、ウインドウの下のガラスのオーナメントに表示されます。SQLエディタのカード(関数やテーブルのカード)は、エディタの下の別のオーナメントに表示されます。

複数のウインドウ
システムメニューの「新規ウインドウ」は、最初のワークスペースを閉じずに別のワークスペースを開きます。最初のワークスペースは接続したままです。新しいウインドウは前のウインドウの手前に表示されるので、バーをつかんで動かし、横に並べてください。各ウインドウは角からサイズを変更できます。

壁のウィジェット
2つのウィジェット(1台のサーバのメトリクスとサーバ群)は、壁に掛けたりテーブルに置いたりでき、浮き出した表示またはくぼんだ表示で、ガラスの質感になります。

キーボードで
Bluetoothキーボードを使うと、iPadのショートカットが使えます。⌘1〜⌘9で開いている各タブに移動し、⌘[と⌘]で前と次のタブに移り、⌘Tで新しいタブを開きます。

ないもの、その理由
- ⌘を押し続けたときのショートカットパネル:visionOSは表示しません。ショートカットそのものは機能します。
- Calíope Watch:Apple WatchはiPhoneとペアリングするもので、Apple Vision Proとはペアリングしません。
- iPadでFace IDと書かれているところは、ここではOptic IDです。デバイスの生体認証です。

キーワード: Vision Pro、visionOS、目、視線、ピンチ、オーナメント、ウインドウ、ウィジェット、壁、キーボード、Optic ID

結果の行とセルのジェスチャ

結果グリッドで、クリック、タップ、ドラッグがそれぞれ何をするか。Macとタッチ操作のデバイスでは、できることが同じではありません。

グリッドは、セル、列見出し、グリッド全体に対するジェスチャに反応します。ポインタと指の操作は似ていますが、同じではありません。

macOS

セルの上で
- クリック — 行を選択し、値全体と「コピー」があるポップオーバーを開きます。ポインタを置いておくだけなら、値はツールチップに表示されます。
- ダブルクリック — 同じビューアを大きなシートで開きます。
- 右クリック — 「コピー」、「行をINSERTとしてコピー」、「値全体を表示」、「UPDATEを生成」、「高度なセルエディタ」、「CSVに書き出す…」、「列をプロファイル」、「行を削除」があるメニューを開きます。「値全体を表示」と「高度なセルエディタ」は、NULLではないセルの上でだけ表示されます。
- 同じ操作は、メニューを使わなくても、セルの上でVoiceOverから使えます。

列見出しの上で
- クリック — その列で並べ替えます。もう一度クリックすると向きが逆になります。
- 端をドラッグ — 幅を変えます。幅はそのクエリーについて記憶されます。
- 見出しはシステムが描画するので、Calíopeはそこにメニューを追加しなくなりました。「列をプロファイル」はセルのメニューにあります。

選択した行の上で
- ⇧または⌘を押しながらクリック — 複数の行を選択します。
- ⌘C — 列名を先頭に付けて、TSVとしてコピーします。
- ドラッグ — 行をアプリの外に持ち出します。

iPadとiPhone

セルの上で
- タップ — 値全体のシートを開きます。
- ダブルタップ — 「UPDATEを生成」を開きます。
- 長押し — 「列をプロファイル」を除いて、Macと同じメニューを開きます。「コピー」、「行をINSERTとしてコピー」、「値全体を表示」、「UPDATEを生成」、「高度なセルエディタ」、「CSVに書き出す…」、「行を削除」です。

列見出しの上で
- ハンドルをドラッグ — 幅を変えます。ハンドルの幅は16ポイントで、Macの6ポイントより広くなっています。指はポインタほど正確に狙えないからです。ドラッグしている間は色が付きます。
- iPadとiPhoneでは、見出しにコンテキストメニューはありません。列のプロファイラはMacから開きます。

どこでも、グリッド全体で
- 2本指でピンチ(macOSではトラックパッドで)すると、セルと見出しのフォントサイズが11〜26ポイントで変わり、列の幅は新しいサイズに合わせて調整し直されます。結果ツールバーで「テーブル」という語の横にある2つのサイズボタンが動かすのと同じ設定で、エディタのテキストサイズとは別です。2つの数値は別々に保存されます。

知っておきたい2つのこと

手で設定した幅は、セッションが続く間、タブと列の組み合わせごとに記憶されます。同じクエリーに戻れば自分で決めた幅に戻り、列が違うクエリーは独自の自動調整から始まります。また、「行を削除」は押しても何も削除しません。削除のプレビューが開き、特定された行と実行されるSQL文が表示されるので、確認してから実行します。

グリッドがしないこと

iPadとiPhoneでは、見出しをタップしても並べ替えません。順序はORDER BYのとおりです。行のスワイプも、ジェスチャによる複数選択も、左に固定される列もありません。

読み出し専用の環境タグがあると、書き込む操作は表示されません。メニューからも、VoiceOverからも、iPadのダブルタップからも、「UPDATEを生成」、「行を削除」、セルの編集はできません。Mac以外では「高度なセルエディタ」もありません。書き込みの確認を求めるタグなら、UPDATEの実行や行の削除の前に確認を求めます。

キーワード: ジェスチャ、行、セル、グリッド、結果、右クリック、ダブルクリック、長押し、列の幅、ドラッグ、UPDATEを生成、高度なセルエディタ、削除のプレビュー、列のプロファイラ、INSERTとしてコピー、並べ替え

ER図と実行計画ビューアでのパンとズーム

ER図のキャンバスと実行計画ビューアのツリーを移動・拡大縮小する方法と、各プラットフォームにあるジェスチャ。

「ER図」と「実行計画ビューア」は、ほとんどの場合ウインドウより大きくなる仮想キャンバスにノードを描きます。拡大縮小はジェスチャか、ツールバーのボタンで行います。ボタンは現在の倍率も示します。

キャンバスの移動
どちらのビューでも、どのプラットフォームでも、キャンバスの何もない場所をドラッグします。ノードの上でドラッグすると、別の意味になります。

拡大と縮小
- macOS — ポインタをキャンバスに重ねて、マウスホイール、トラックパッドでの2本指の縦スクロール、または2本指のピンチを使います。ホイールを1段回すごとに、倍率が1.15倍または1.15分の1になります。
- iPad — 2本指でピンチします。
- どこでも — ツールのツールバーにある−と+のボタン(間に割合が表示されます)と、ショートカットの⌘−と⌘+。その方向にそれ以上余地がないときは、ボタンが淡色になります。
- 範囲は、ER図では18%〜400%、実行計画ビューアでは18%〜350%です。

自動のフレーミング
どちらのビューも、開いたときとウインドウのサイズが変わったときに、自動で全体を収めます。ER図は「自動レイアウト」のあとにも収めます。表示を見失ったときは、ツールバーの「ウインドウに合わせる」ボタン(または⌘0)で、ウインドウには触れずにもう一度すべてを収められます。

ER図だけ
- テーブルを動かす — 本体をドラッグします。位置は自動では保持されません。ツールバーの「レイアウトを保存」で保存します。
- 外部キーを作成する(macOSのみ) — ⌃(Control)キーを押しながら、あるテーブルから参照先のテーブルへドラッグします。ジェスチャの間はゴムひものような線が描かれ、離すと、実行されるALTER TABLEのシートが開きます。このジェスチャはiPadにはありません。iPadでは、テーブルのコンテキストメニューの「新しい外部キーのリレーション…」から外部キーを作成します。
- 空のキャンバスのメニュー(macOSのみ) — 背景を右クリックします。自動レイアウト、レイアウトの保存、3つのサイズでのPNGまたはPDFへの書き出しがあります。

実行計画ビューアでは
ノードは動かせず、キャンバスにコンテキストメニューもありません。ビューが実行計画からツリーを配置するので、その形も伝えている内容の一部です。

キャンバスとVoiceOver
図はCanvasで描かれていて、VoiceOverはその中をたどれません。そのためER図は、テーブルの一覧とリレーションの一覧を別に公開しています。そこではジェスチャは必要ありません。

Apple Vision Pro:iPadと同じで、独自のジェスチャを使います。キャンバスの移動やテーブルの移動にはピンチして動かす、拡大縮小には両手でピンチです。ボタンとショートカットは同じです。

キーワード: パン、ズーム、ER図、ERD、実行計画ビューア、ピンチ、マウスホイール、トラックパッド、ノードをドラッグ、外部キー、FK、Control、レイアウトを保存、自動レイアウト、書き出し、VoiceOver

ワークスペースのパネルのサイズ変更

ワークスペースのドラッグできる区切り:2つの向き、元に戻すダブルクリック、そしてウインドウが狭くなったときの動作。

ほとんどのツールは、幅6ポイントのドラッグできる区切りで領域を分けています。macOSとiPadで同じ部品です。区切りは横向きのものだけでなく、2種類あります。

上下の区切り
SQLエディタでテキストと結果の間にある区切りや、詳細と補助パネルを縦に重ねるツールの区切りです。上下にドラッグします。上のパネルは、使える高さの20%を下回ることも、85%を上回ることもありません。

左右の区切り
ツールのサイドパネル(リスト、ツリー、選択欄)と詳細を分ける区切りです。左右にドラッグします。パネルが140ポイントを下回ることはなく、詳細には常に260ポイントが残ります。

どちらも同じように動作します
- 区切りをダブルクリックまたはダブルタップ — そのツールのデフォルトの分割に戻します。パネルが縮みきってしまったときの手早い戻し方です。
- macOSでは、ポインタを重ねるとカーソルが↕または↔に変わり、線が太くなってアクセントカラーになります。ドラッグしている間は色が付いたままです。
- iPadではカーソルはありませんが、反応する帯の幅はまったく同じです。
- 分割は保存されます。サイドパネルの分割は、Mac用とiPad用が別々に保存されます。デスクトップの広いウインドウとiPadの画面では、望ましい分割が違うからです。

ウインドウが狭くなると
動作は2通りあり、どちらになるかを決めるのはデバイスではなく画面の大きさです。

iPhone、Slide Over、そしてコンパクトサイズのウインドウでは、領域は2つに分かれません。リストが画面そのもので、何かを選ぶと、戻る矢印付きの詳細がプッシュされます。ほかのiOSアプリと同じです。上部のバーには「詳細を表示」ボタンもあり、これはいつでも使える経路です。

レギュラーサイズのままの狭いウインドウでは(Macの小さなウインドウなど)、パネルはボタンのある帯に折りたたまれ、詳細の上に重なる引き出しとして開きます。ウインドウを広げると、常設のパネルに戻ります。

独自のルールを持つ2つの区切り
- 「クエリービルダー」では、生成されたSQLのパネルをカプセル形のつまみでドラッグします。高さは60〜500ポイントです。
- 結果グリッドでドラッグするのは列の端で、パネルの区切りではありません。これは「結果の行とセルのジェスチャ」で説明しています。

Apple Vision Pro:区切りの見た目は幅6ポイントのままですが、視線に反応する帯は60ポイントあり、見るとハイライトされます。ピンチして動かすとドラッグできます。

キーワード: サイズ変更、区切り、スプリッタ、パネル、ドラッグ、高さ、幅、縦、横、ダブルクリック、リセット、引き出し、Slide Over、SQLエディタ、サイドパネル、クエリービルダー

ビューごとのコンテキストメニュー(リファレンス)

macOSでの右クリック(iPadでは長押し)で、メニューのある各ビューに何が表示されるか。

macOSでは、コンテキストメニューは右クリックで開きます。iPadでは項目を長押しします。すべてのビューにメニューがあるわけではなく、メニューがあるビューでも内容は同じではありません。

接続マネージャ
- プロファイルの上:接続、複製、「グループに移動」(既存のグループと「グループなし」があるサブメニュー)、削除。
- グループの上:名前を変更、新規グループ、環境タグ…、グループを削除。
- 「グループなし」の見出しの上:新規グループ(macOSのみ)と環境タグ…。

スキーマツリー(SQLエディタの中)
- データベースの上:使用中のデータベースに設定、テーブルを更新、データベースリストを更新、名前をコピー。
- オブジェクトの上:名前をコピー、完全な名前をコピー、そのデータベースのテーブルを更新、そしてエディタからは「データを読み込む」と「WHEREを作成」。

カタログ
- テーブル:テーブルを設計、DDLを表示、ダミーデータを投入、テーブルを削除。
- ビュー:DDLを表示、編集(ビジュアルフォーム)、ItemEditorで開く。
- インデックス:編集(ビジュアルフォーム)、インデックスを削除。
- ルーチン:DDLを表示、編集、ItemEditorで開く、削除。
- トリガー:DDLを表示、編集、ItemEditorで開く。
- イベント:DDLを表示、編集、ItemEditorで開く、イベントを削除。

SQLエディタのテキストの上
- macOS:ポインタの下の単語に対する「定義へ移動」と「シンボル名を変更」。カーソルがSELECT *の中にあれば、さらに「\* を展開」。その下にmacOS標準の編集メニュー。
- iPad:「定義へ移動」と「シンボル名を変更」。

結果グリッド
独自のトピックがあります:「結果の行とセルのジェスチャ」。

SQLログ
- 永続ログでは:詳細を表示、クエリーをコピー、エディタで開く、結果をコピー。行をダブルクリックすると、詳細が直接開きます。iPadではタップです。
- セッション履歴では:詳細を表示、クエリーをコピー、エディタで開く。

プロセスリスト
- プロセスの上:KILL CONNECTIONとKILL QUERY。この2つは別物です。前者はクライアントを追い出し、後者はいま実行中のものだけを止めます。

スニペット
- スニペットの上:内容をコピー、削除。ほかはすべて右側のパネルで編集します。

ER図
- テーブルの上:テーブルの構造を編集、新しい外部キーのリレーション…。
- 空のキャンバスの上(macOSのみ):自動レイアウト、レイアウトを保存、3つのサイズでのPNGとPDFへの書き出し。

ほかにもコンテキストメニューがあるもの
AIアシスタントとその履歴、SQLアラート、テーブルビルダー、SQL文、スキーマ比較、サーバ情報、SQLiteエディタ、エラーログ、実行履歴、レポート、そして「設定」の接続リスト。

Macのワークスペースのタブ:タブを右クリックすると、「閉じる」、「ほかを閉じる」、「右側のタブを閉じる」、「左へ移動」、「右へ移動」があります。タブはドラッグして並べ替えることもできます。Mac以外では、タブにコンテキストメニューはありません。×で閉じるか、キーボードから⌘⇧Wで閉じます。複製やピン留めは、どこにもありません。

読み出し専用の環境タグがあると、メニューに書き込む操作は表示されません。結果の行の編集や削除、カタログでのオブジェクトの作成・編集・削除です。

キーワード: コンテキストメニュー、右クリック、長押し、リファレンス、カタログ、スキーマツリー、SQLログ、プロセス、スニペット、接続、ER図、SQLエディタ、タブ