Item: Remove unused methods

This commit is contained in:
Sergio Martins
2020-05-07 00:08:04 +01:00
parent 61bedce278
commit 5f7899f265
3 changed files with 28 additions and 194 deletions

View File

@@ -29,6 +29,7 @@
using namespace Layouting;
int Layouting::Item::separatorThickness = 5;
const QSize Layouting::Item::hardcodedMinimumSize = QSize(KDDOCKWIDGETS_MIN_WIDTH, KDDOCKWIDGETS_MIN_HEIGHT);
ItemContainer *Item::root() const
{
@@ -233,11 +234,6 @@ QSize Item::missingSize() const
return missing;
}
int Item::missingLength(Qt::Orientation o) const
{
return Layouting::length(missingSize(), o);
}
bool Item::isBeingInserted() const
{
return m_sizingInfo.isBeingInserted;
@@ -388,12 +384,6 @@ void Item::insertItem(Item *item, Location loc, AddingOption option)
(void) root()->checkSanity();
}
/** static */
QSize Item::hardcodedMinimumSize()
{
return QSize(KDDOCKWIDGETS_MIN_WIDTH, KDDOCKWIDGETS_MIN_HEIGHT);
}
int Item::x() const
{
return m_sizingInfo.geometry.x();
@@ -1101,8 +1091,6 @@ void ItemContainer::updateSizeConstraints()
{
const QSize missingSize = this->missingSize();
if (!missingSize.isNull()) {
//QScopedValueRollback<bool> resizing(m_isResizing, true);
if (isRoot()) {
// Resize the whole layout
resize(size() + missingSize);
@@ -1481,11 +1469,6 @@ bool ItemContainer::hasOrientationFor(Location loc) const
return m_orientation == orientationForLocation(loc);
}
Item::List ItemContainer::children() const
{
return m_children;
}
Item::List ItemContainer::visibleChildren(bool includeBeingInserted) const
{
Item::List items;
@@ -1632,11 +1615,6 @@ void ItemContainer::resize(QSize newSize) // Rename to setSize_recursive
setSize(newSize);
if (m_isResizing) {
// We're already under a resize, nothing to do
return;
}
const int totalNewLength = usableLength();
int remaining = totalNewLength;
@@ -2046,38 +2024,6 @@ int ItemContainer::neighboursMinLengthFor(const Item *item, Side side, Qt::Orien
}
}
int ItemContainer::neighboursMinLengthFor_recursive(const Item *item, Side side, Qt::Orientation o) const
{
return neighboursMinLengthFor(item, side, o) + (isRoot() ? 0
: parentContainer()->neighboursMinLengthFor(this, side, o));
}
int ItemContainer::neighbourSeparatorWaste(const Item *item, Side side, Qt::Orientation o) const
{
const Item::List children = visibleChildren();
const int index = children.indexOf(const_cast<Item*>(item));
if (index == -1) {
qWarning() << Q_FUNC_INFO << "Couldn't find item" << item;
return 0;
}
if (o == m_orientation) {
if (side == Side1) {
return index * Item::separatorThickness;
} else {
return (children.size() - 1 - index) * Item::separatorThickness;
}
} else {
return 0;
}
}
int ItemContainer::neighbourSeparatorWaste_recursive(const Item *item, Side side, Qt::Orientation orientation) const
{
return neighbourSeparatorWaste(item, side, orientation) + (isRoot() ? 0
: parentContainer()->neighbourSeparatorWaste(item, side, orientation));
}
int ItemContainer::availableOnSide(const Item *child, Side side) const
{
const int length = neighboursLengthFor(child, side, m_orientation);
@@ -2103,18 +2049,6 @@ int ItemContainer::availableOnSide_recursive(const Item *child, Side side, Qt::O
}
}
QSize ItemContainer::missingSizeFor(Item *item, Qt::Orientation o) const
{
QSize missing = {0, 0};
const QSize available = availableSize();
const int separatorWasteW = (o == Qt::Vertical || !hasVisibleChildren()) ? 0 : Item::separatorThickness;
const int separatorWasteH = (o == Qt::Vertical && hasVisibleChildren()) ? Item::separatorThickness : 0;
missing.setWidth(qMax(item->minSize().width() - available.width() + separatorWasteW, 0));
missing.setHeight(qMax(item->minSize().height() - available.height() + separatorWasteH, 0));
return missing;
}
QVariantList ItemContainer::items() const
{
QVariantList items;
@@ -2273,30 +2207,6 @@ void ItemContainer::applyGeometries(const SizingInfo::List &sizes)
positionItems();
}
SizingInfo::List ItemContainer::sizingInfosPerNeighbour(Item *item, Side side) const
{
Item::List children = visibleChildren();
const int indexOfChild = children.indexOf(item);
int start = 0;
int end = 0;
if (side == Side1) {
start = 0;
end = indexOfChild - 1;
} else {
start = indexOfChild + 1;
end = children.size() - 1;
}
SizingInfo::List result;
result.reserve(end - start + 1);
for (int i = start; i <= end; ++i) {
Item *neighbour = children.at(i);
result << neighbour->m_sizingInfo;
}
return result;
}
SizingInfo::List ItemContainer::sizes(bool ignoreBeingInserted) const
{
const Item::List children = visibleChildren(ignoreBeingInserted);

View File

@@ -54,42 +54,6 @@ enum AddingOption {
AddingOption_StartHidden ///< Don't show the dock widget when adding it
};
///@internal
inline Location oppositeLocation(Location loc)
{
switch (loc) {
case Location_OnLeft:
return Location_OnRight;
case Location_OnTop:
return Location_OnBottom;
case Location_OnRight:
return Location_OnLeft;
case Location_OnBottom:
return Location_OnTop;
default:
Q_ASSERT(false);
return Location_None;
}
}
///@internal
inline Location adjacentLocation(Location loc)
{
switch (loc) {
case Location_OnLeft:
return Location_OnTop;
case Location_OnTop:
return Location_OnRight;
case Location_OnRight:
return Location_OnBottom;
case Location_OnBottom:
return Location_OnLeft;
default:
Q_ASSERT(false);
return Location_None;
}
}
enum Side {
Side1,
Side2
@@ -127,21 +91,11 @@ inline bool locationIsVertical(Location loc)
return loc == Location_OnTop || loc == Location_OnBottom;
}
inline bool locationIsHorizontal(Location loc)
{
return !locationIsVertical(loc);
}
inline bool locationIsSide1(Location loc)
{
return loc == Location_OnLeft || loc == Location_OnTop;
}
inline bool locationIsSide2(Location loc)
{
return loc == Location_OnRight || loc == Location_OnBottom;
}
inline QRect adjustedRect(QRect r, Qt::Orientation o, int p1, int p2)
{
if (o == Qt::Vertical) {
@@ -315,14 +269,14 @@ public:
~Item() override;
bool isRoot() const;
virtual int visibleCount_recursive() const;
virtual int visibleCount_recursive() const;
virtual void insertItem(Item *item, Location, AddingOption = AddingOption_None);
/**
* @brief No widget can have a minimum size smaller than this, regardless of their minimum size.
*/
static QSize hardcodedMinimumSize();
static const QSize hardcodedMinimumSize;
static int separatorThickness;
int x() const;
@@ -334,42 +288,20 @@ public:
QPoint pos() const;
int pos(Qt::Orientation) const;
QRect geometry() const;
bool isContainer() const;
bool isWidget() const { return !isContainer(); }
Qt::Orientation orientation() const;
[[nodiscard]] virtual bool checkSanity();
void setParentContainer(ItemContainer *parent); // TODO: Make private
void connectParent(ItemContainer *parent);
ItemContainer *parentContainer() const;
void setPos(QPoint); // TODO: Make private
void setPos(int pos, Qt::Orientation);
int position(Qt::Orientation) const;
const ItemContainer *asContainer() const;
ItemContainer *asContainer();
void setMinSize(QSize);
void setMaxSize(QSize);
virtual QSize minSize() const;
virtual QSize maxSize() const;
virtual void resize(QSize newSize);
int minLength(Qt::Orientation) const;
void setLength(int length, Qt::Orientation);
virtual void setLength_recursive(int length, Qt::Orientation);
int length(Qt::Orientation) const;
int availableLength(Qt::Orientation) const;
bool isPlaceholder() const;
virtual bool isVisible(bool excludeBeingInserted = false) const;
virtual void setIsVisible(bool);
virtual void setGeometry_recursive(QRect rect);
virtual void dumpLayout(int level = 0);
void setGeometry(QRect rect);
SizingInfo m_sizingInfo;
QSize missingSize() const;
int missingLength(Qt::Orientation) const;
bool isBeingInserted() const;
void setBeingInserted(bool);
ItemContainer *root() const;
QRect mapToRoot(QRect) const;
QPoint mapToRoot(QPoint) const;
@@ -390,10 +322,11 @@ public:
void unref();
int refCount() const;
int minLength(Qt::Orientation) const;
QWidget *hostWidget() const;
void restore(GuestInterface *guest);
virtual void setHostWidget(QWidget *);
virtual void updateWidgetGeometries();
virtual QVariantMap toVariantMap() const;
virtual void fillFromVariantMap(const QVariantMap &map, const QHash<QString, GuestInterface*> &widgets);
static Item* createFromVariantMap(QWidget *hostWidget, ItemContainer *parent,
@@ -410,12 +343,32 @@ Q_SIGNALS:
protected:
friend class ::TestMultiSplitter;
explicit Item(bool isContainer, QWidget *hostWidget, ItemContainer *parent);
void setParentContainer(ItemContainer *parent);
void connectParent(ItemContainer *parent);
[[nodiscard]] virtual bool checkSanity();
void setPos(QPoint); // TODO: Make private
void setPos(int pos, Qt::Orientation);
int position(Qt::Orientation) const;
const ItemContainer *asContainer() const;
ItemContainer *asContainer();
void setLength(int length, Qt::Orientation);
virtual void setLength_recursive(int length, Qt::Orientation);
int length(Qt::Orientation) const;
int availableLength(Qt::Orientation) const;
QSize missingSize() const;
virtual void updateWidgetGeometries();
virtual void setIsVisible(bool);
bool isBeingInserted() const;
void setBeingInserted(bool);
SizingInfo m_sizingInfo;
const bool m_isContainer;
ItemContainer *m_parent = nullptr;
private Q_SLOTS:
void onWidgetLayoutRequested();
private:
friend class ItemContainer;
void turnIntoPlaceholder();
bool eventFilter(QObject *o, QEvent *event) override;
int m_refCount = 0;
@@ -449,7 +402,6 @@ public:
explicit ItemContainer(QWidget *parent);
void insertItem(Item *item, int index);
[[nodiscard]] bool checkSanity() override;
void scheduleCheckSanity() const;
bool hasOrientation() const;
int numChildren() const;
int numVisibleChildren() const;
@@ -463,7 +415,6 @@ public:
ItemContainer *convertChildToContainer(Item *leaf);
void insertItem(Item *item, Location, AddingOption = AddingOption_None) override;
bool hasOrientationFor(Location) const;
Item::List children() const;
Item::List visibleChildren(bool includeBeingInserted = false) const;
int usableLength() const;
bool hasSingleVisibleItem() const;
@@ -479,7 +430,7 @@ public:
QVariantList items() const;
void dumpLayout(int level = 0) override;
void updateChildPercentages();
void updateChildPercentages_recursive();
void updateChildPercentages_recursive();
void restoreChild(Item *);
void updateWidgetGeometries() override;
int oppositeLength() const;
@@ -510,26 +461,19 @@ public:
QSize availableSize() const;
int availableLength() const;
LengthOnSide lengthOnSide(const SizingInfo::List &sizes, int fromIndex, Side, Qt::Orientation) const;
int minLength(int fromIndex, Side, Qt::Orientation) const;
int neighboursLengthFor(const Item *item, Side, Qt::Orientation) const;
int neighboursLengthFor_recursive(const Item *item, Side, Qt::Orientation) const;
int neighboursMinLengthFor(const Item *item, Side, Qt::Orientation) const;
int neighboursMinLengthFor_recursive(const Item *item, Side, Qt::Orientation) const;
int neighbourSeparatorWaste(const Item *item, Side, Qt::Orientation) const;
int neighbourSeparatorWaste_recursive(const Item *item, Side, Qt::Orientation) const;
int availableOnSide(const Item *child, Side) const;
int availableOnSide_recursive(const Item *child, Side, Qt::Orientation orientation) const;
QSize missingSizeFor(Item *item, Qt::Orientation) const;
void onChildMinSizeChanged(Item *child);
void onChildVisibleChanged(Item *child, bool visible);
void updateSizeConstraints();
SizingInfo::List sizingInfosPerNeighbour(Item *item, Side) const;
SizingInfo::List sizes(bool ignoreBeingInserted = false) const;
QVector<int> calculateSqueezes(SizingInfo::List::ConstIterator begin, SizingInfo::List::ConstIterator end, int needed) const;
QRect suggestedDropRect(QSize minSize, const Item *relativeTo, Location) const;
void positionItems();
void positionItems(SizingInfo::List &sizes);
bool isResizing() const { return m_isResizing; }
void clear();
Item* itemForFrame(const QWidget *w) const; // TODO: Rename
int visibleCount_recursive() const override;
@@ -570,6 +514,7 @@ public:
QVector<Layouting::Separator*> separators_recursive() const;
Qt::Orientation m_orientation = Qt::Vertical;
private:
void scheduleCheckSanity() const;
Separator *neighbourSeparator(const Item *item, Side, Qt::Orientation) const;
void updateWidgets_recursive();
/// Returns the positions that each separator should have (x position if Qt::Horizontal, y otherwise)
@@ -594,7 +539,7 @@ inline QSize widgetMinSize(const QWidget *w)
const int minH = w->minimumHeight() > 0 ? w->minimumHeight()
: w->minimumSizeHint().height();
return QSize(minW, minH).expandedTo(Item::hardcodedMinimumSize());
return QSize(minW, minH).expandedTo(Item::hardcodedMinimumSize);
}
inline int widgetMinLength(const QWidget *w, Qt::Orientation o) {

View File

@@ -187,7 +187,6 @@ void TestMultiSplitter::tst_createRoot()
auto root = createRoot();
QVERIFY(root->isRoot());
QVERIFY(root->isContainer());
QVERIFY(!root->isWidget());
QVERIFY(root->hasOrientation());
QCOMPARE(root->size(), QSize(1000, 1000));
QVERIFY(root->checkSanity());
@@ -200,7 +199,6 @@ void TestMultiSplitter::tst_insertOne()
auto item = createItem();
root->insertItem(item, Location_OnTop);
QCOMPARE(root->numChildren(), 1);
QVERIFY(item->isWidget());
QVERIFY(!item->isContainer());
QCOMPARE(root->size(), QSize(1000, 1000));
QCOMPARE(item->size(), root->size());
@@ -605,10 +603,6 @@ void TestMultiSplitter::tst_availableSize()
QCOMPARE(root->neighboursLengthFor(item1, Side2, Qt::Horizontal), 0);
QCOMPARE(root->neighboursMinLengthFor(item1, Side1, Qt::Horizontal), 0);
QCOMPARE(root->neighboursMinLengthFor(item1, Side2, Qt::Horizontal), 0);
QCOMPARE(root->neighbourSeparatorWaste(item1, Side1, Qt::Vertical), 0);
QCOMPARE(root->neighbourSeparatorWaste(item1, Side2, Qt::Vertical), 0);
QCOMPARE(root->neighbourSeparatorWaste(item1, Side1, Qt::Horizontal), 0);
QCOMPARE(root->neighbourSeparatorWaste(item1, Side2, Qt::Horizontal), 0);
QCOMPARE(root->neighboursLengthFor_recursive(item1, Side1, Qt::Vertical), 0);
QCOMPARE(root->neighboursLengthFor_recursive(item1, Side2, Qt::Vertical), 0);
@@ -659,14 +653,6 @@ void TestMultiSplitter::tst_availableSize()
QCOMPARE(container4->neighboursLengthFor_recursive(item5, Side1, Qt::Horizontal), item3->width());
QCOMPARE(container4->neighboursLengthFor_recursive(item5, Side2, Qt::Horizontal), 0);
QCOMPARE(container4->neighbourSeparatorWaste(item4, Side1, Qt::Vertical), 0);
QCOMPARE(container4->neighbourSeparatorWaste(item4, Side2, Qt::Vertical), st);
QCOMPARE(container4->neighbourSeparatorWaste(item4, Side1, Qt::Horizontal), 0);
QCOMPARE(container4->neighbourSeparatorWaste(item4, Side2, Qt::Horizontal), 0);
QCOMPARE(container4->neighbourSeparatorWaste(item5, Side1, Qt::Vertical), st);
QCOMPARE(container4->neighbourSeparatorWaste(item5, Side2, Qt::Vertical), 0);
QCOMPARE(container4->neighbourSeparatorWaste(item5, Side1, Qt::Horizontal), 0);
QCOMPARE(container4->neighbourSeparatorWaste(item5, Side2, Qt::Horizontal), 0);
QVERIFY(serializeDeserializeTest(root));
}
@@ -685,15 +671,8 @@ void TestMultiSplitter::tst_missingSize()
Item *item3 = createItem();
item3->setMinSize(root->size() + QSize(100, 200));
// Test empty root
QCOMPARE(root->missingSizeFor(item1, Qt::Vertical), QSize(0, 0));
QCOMPARE(root->missingSizeFor(item2, Qt::Vertical), QSize(0, 0));
QCOMPARE(root->missingSizeFor(item3, Qt::Vertical), QSize(100, 200));
// Test with an existing item
root->insertItem(item1, Location_OnTop);
QCOMPARE(root->missingSizeFor(item2, Qt::Vertical), item1->minSize() + QSize(0, st));
QCOMPARE(root->missingSizeFor(item3, Qt::Vertical), item1->minSize() + QSize(0, st) + QSize(100, 200));
QVERIFY(serializeDeserializeTest(root));
}