#include "ui/views/controls/table/table_header.h"
#include <stddef.h>
#include <algorithm>
#include <memory>
#include <utility>
#include <vector>
#include "base/i18n/rtl.h"
#include "cc/paint/paint_flags.h"
#include "third_party/skia/include/core/SkColor.h"
#include "third_party/skia/include/core/SkPath.h"
#include "ui/base/cursor/cursor.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/color/color_id.h"
#include "ui/color/color_provider.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/geometry/skia_conversions.h"
#include "ui/gfx/text_utils.h"
#include "ui/views/background.h"
#include "ui/views/controls/focus_ring.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/controls/table/table_utils.h"
#include "ui/views/controls/table/table_view.h"
#include "ui/views/focus/focus_manager.h"
#include "ui/views/style/platform_style.h"
#include "ui/views/view_utils.h"
namespace views {
namespace {
constexpr int kMinColumnWidth = …;
constexpr int kResizeKeyboardAmount = …;
constexpr int kVerticalPadding = …;
constexpr int kResizePadding = …;
constexpr int kSeparatorPadding = …;
constexpr int kSortIndicatorSize = …;
}
const int TableHeader::kHorizontalPadding = …;
const int TableHeader::kSortIndicatorWidth = …;
class TableHeader::HighlightPathGenerator
: public views::HighlightPathGenerator { … };
Columns;
TableHeader::TableHeader(base::WeakPtr<TableView> table)
: … { … }
TableHeader::~TableHeader() = default;
void TableHeader::UpdateFocusState() { … }
void TableHeader::OnPaint(gfx::Canvas* canvas) { … }
gfx::Size TableHeader::CalculatePreferredSize(
const SizeBounds& ) const { … }
bool TableHeader::GetNeedsNotificationWhenVisibleBoundsChange() const { … }
void TableHeader::OnVisibleBoundsChanged() { … }
void TableHeader::AddedToWidget() { … }
ui::Cursor TableHeader::GetCursor(const ui::MouseEvent& event) { … }
bool TableHeader::OnMousePressed(const ui::MouseEvent& event) { … }
bool TableHeader::OnMouseDragged(const ui::MouseEvent& event) { … }
void TableHeader::OnMouseReleased(const ui::MouseEvent& event) { … }
void TableHeader::OnMouseCaptureLost() { … }
void TableHeader::OnGestureEvent(ui::GestureEvent* event) { … }
void TableHeader::OnThemeChanged() { … }
void TableHeader::ResizeColumnViaKeyboard(
size_t index,
TableView::AdvanceDirection direction) { … }
bool TableHeader::GetHeaderRowHasFocus() const { … }
gfx::Rect TableHeader::GetActiveHeaderCellBounds() const { … }
bool TableHeader::HasFocusIndicator() const { … }
bool TableHeader::StartResize(const ui::LocatedEvent& event) { … }
void TableHeader::ContinueResize(const ui::LocatedEvent& event) { … }
void TableHeader::ToggleSortOrder(const ui::LocatedEvent& event) { … }
std::optional<size_t> TableHeader::GetResizeColumn(int x) const { … }
BEGIN_METADATA(…)
}