ドキュメント

View Categories

BreadcrumbsListComponent

2 min read

BreadcrumbsListComponentはBreadcrumbComponentを横並びに表示するコンポーネントです。

横並びに並べて指定された幅を超える場合は次の行へ移行します。


breadcrumbs_list_component.hpp

class BreadcrumbsListComponent : public Component
{
public:
  BreadcrumbsListComponent(
    MOD mod,
    unsigned int breadcrumb_width,
    unsigned char breadcrumb_bg_color_R,
    unsigned char breadcrumb_bg_color_G,
    unsigned char breadcrumb_bg_color_B,
    unsigned char breadcrumb_bg_color_A,
    unsigned int text_c_size,
    unsigned char text_color_R,
    unsigned char text_color_G,
    unsigned char text_color_B,
    std::list<std::string> breadcrumbs_list,
    std::string hover_text,
    std::function<void(std::string)> breadcrumb_click
  );

  ~BreadcrumbsListComponent() = default;

  BreadcrumbsListComponent(BreadcrumbsListComponent const&) = default;
  BreadcrumbsListComponent& operator=(BreadcrumbsListComponent const&) = default;

  unsigned int get_width() { return breadcrumb_width; }
  unsigned int get_height() { return breadcrumb_height; }
  unsigned int get_size() { return breadcrumbs.size(); }

  void configure();

private:
  std::unique_ptr<CaptureComponent> capture;
  std::list<FcComponent> breadcrumbs;
  unsigned int breadcrumb_width;
  unsigned int breadcrumb_height;
};


breadcrumb_widthはBreadcrumbComponentを並べる幅を指定します。

breadcrumbs_list文字列としてパンくずリストにしたい一覧をしています。

hover_textはホバー時のテキストを指定します。breadcrumb_clickでクリック時の動作を指定します。

get_size()でBreadcrumbComponentの個数を取得します。

このコンポーネントの作成側がbreadcrumbs_listを管理している場合に、get_size()と比較してsizeが異なる場合、BreadcrumbsListComponentを再作成できます。

CaptureComponentをspa::configure::capture::MODE::OFFで追加しました。

描画範囲が固定できないため、描画要素数が減った場合に上書きされずに、文字列が残ります。

このコンポーネントはキャプチャを不可に設定しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です