私はUbuntuSDKで遊んでいます。現時点では、Unity8スコープを作成しようとしています。現在、私は次のことに固執しています:
残念ながら、開発者向けドキュメントには有用な情報が見つかりませんでした。
結果の上のドロップダウンは部門セレクターです。カテゴリは、スコープの結果に含まれるさまざまなアイテムのグループです。そのため、正しいAPIを見つけるのに問題があった可能性があります。
スコープに部門を追加するには、クエリクラスのrun
メソッドの応答オブジェクトで _register_departments
_ を呼び出す必要があります。これは、この特定の結果のセットに対して表示される部門のセットを表す_unity::scopes::Department::SCPtr
_オブジェクトを取ります。
ユーザーが現在トップレベルの部門を閲覧している場合は、トップレベルを表すDepartment
を渡し、その直接の子を入力する必要があります。
ユーザーがサブ部門を閲覧している場合は、親を表すDepartment
を渡し、その直接の子を入力する必要があります。現在の部門は子内に表示される必要があります。
アイデアは、即時ナビゲーションに必要な部門ツリーの部分のみが提供されるということです。コードは次のようになります。
_Department::SPtr parent = Department::create("parent", query(), "Parent Dept")
parent->set_subdepartments({
Department::create("sibling", query(), "Sibling department"),
Department::create("current", query(), "Current departmnet")});
reply->register_departments(parent);
_
これで、ユーザーが選択した部門に関連する結果をスコープに提供させるだけで済みます。これは、クエリクラスで query().department_id()
として使用できるようになります。これは、以前に登録した部門の1つのID、または最上位部門として扱われる必要がある_""
_と一致します。