bsnes/hiro/core/widget/list-view-column.cpp

154 lines
3.5 KiB
C++

#if defined(Hiro_ListView)
auto mListViewColumn::allocate() -> pObject* {
return new pListViewColumn(*this);
}
//
auto mListViewColumn::active() const -> bool {
if(auto listView = parentListView()) return listView->state.activeColumn == offset();
return false;
}
auto mListViewColumn::alignment() const -> Alignment {
return state.alignment;
}
auto mListViewColumn::backgroundColor() const -> Color {
return state.backgroundColor;
}
auto mListViewColumn::editable() const -> bool {
return state.editable;
}
auto mListViewColumn::expandable() const -> bool {
return state.expandable;
}
auto mListViewColumn::foregroundColor() const -> Color {
return state.foregroundColor;
}
auto mListViewColumn::horizontalAlignment() const -> double {
return state.horizontalAlignment;
}
auto mListViewColumn::icon() const -> image {
return state.icon;
}
auto mListViewColumn::remove() -> type& {
if(auto listView = parentListViewHeader()) listView->remove(*this);
return *this;
}
auto mListViewColumn::resizable() const -> bool {
return state.resizable;
}
auto mListViewColumn::setActive() -> type& {
if(auto listView = parentListView()) listView->state.activeColumn = offset();
signal(setActive);
return *this;
}
auto mListViewColumn::setAlignment(Alignment alignment) -> type& {
state.alignment = alignment;
signal(setAlignment, alignment);
return *this;
}
auto mListViewColumn::setBackgroundColor(Color color) -> type& {
state.backgroundColor = color;
signal(setBackgroundColor, color);
return *this;
}
auto mListViewColumn::setEditable(bool editable) -> type& {
state.editable = editable;
signal(setEditable, editable);
return *this;
}
auto mListViewColumn::setExpandable(bool expandable) -> type& {
state.expandable = expandable;
signal(setExpandable, expandable);
return *this;
}
auto mListViewColumn::setForegroundColor(Color color) -> type& {
state.foregroundColor = color;
signal(setForegroundColor, color);
return *this;
}
auto mListViewColumn::setHorizontalAlignment(double alignment) -> type& {
alignment = max(0.0, min(1.0, alignment));
state.horizontalAlignment = alignment;
signal(setHorizontalAlignment, alignment);
return *this;
}
auto mListViewColumn::setIcon(const image& icon) -> type& {
state.icon = icon;
signal(setIcon, icon);
return *this;
}
auto mListViewColumn::setResizable(bool resizable) -> type& {
state.resizable = resizable;
signal(setResizable, resizable);
return *this;
}
auto mListViewColumn::setSortable(bool sortable) -> type& {
state.sortable = sortable;
signal(setSortable, sortable);
return *this;
}
auto mListViewColumn::setText(const string& text) -> type& {
state.text = text;
signal(setText, text);
return *this;
}
auto mListViewColumn::setVerticalAlignment(double alignment) -> type& {
alignment = max(0.0, min(1.0, alignment));
state.verticalAlignment = alignment;
signal(setVerticalAlignment, alignment);
return *this;
}
auto mListViewColumn::setVisible(bool visible) -> type& {
state.visible = visible;
signal(setVisible, visible);
return *this;
}
auto mListViewColumn::setWidth(signed width) -> type& {
state.width = max(0, width);
signal(setWidth, width);
return *this;
}
auto mListViewColumn::sortable() const -> bool {
return state.sortable;
}
auto mListViewColumn::text() const -> string {
return state.text;
}
auto mListViewColumn::verticalAlignment() const -> double {
return state.verticalAlignment;
}
auto mListViewColumn::width() const -> signed {
return state.width;
}
#endif