Browse Source

Made sure that ListBox updates its opacity when re-parented

tags/2021-05-28
jules 11 years ago
parent
commit
859e23d550
2 changed files with 14 additions and 7 deletions
  1. +12
    -7
      modules/juce_gui_basics/widgets/juce_ListBox.cpp
  2. +2
    -0
      modules/juce_gui_basics/widgets/juce_ListBox.h

+ 12
- 7
modules/juce_gui_basics/widgets/juce_ListBox.cpp View File

@@ -457,7 +457,7 @@ void ListBox::updateContent()
if (selected.size() > 0 && selected [selected.size() - 1] >= totalItems)
{
selected.removeRange (Range <int> (totalItems, std::numeric_limits<int>::max()));
selected.removeRange (Range<int> (totalItems, std::numeric_limits<int>::max()));
lastRowSelected = getSelectedRow (0);
selectionChanged = true;
}
@@ -516,7 +516,7 @@ void ListBox::deselectRow (const int row)
{
if (selected.contains (row))
{
selected.removeRange (Range <int> (row, row + 1));
selected.removeRange (Range<int> (row, row + 1));
if (row == lastRowSelected)
lastRowSelected = getSelectedRow (0);
@@ -530,7 +530,7 @@ void ListBox::setSelectedRows (const SparseSet<int>& setOfRowsToBeSelected,
const NotificationType sendNotificationEventToModel)
{
selected = setOfRowsToBeSelected;
selected.removeRange (Range <int> (totalItems, std::numeric_limits<int>::max()));
selected.removeRange (Range<int> (totalItems, std::numeric_limits<int>::max()));
if (! isRowSelected (lastRowSelected))
lastRowSelected = getSelectedRow (0);
@@ -554,10 +554,10 @@ void ListBox::selectRangeOfRows (int firstRow, int lastRow)
firstRow = jlimit (0, jmax (0, numRows), firstRow);
lastRow = jlimit (0, jmax (0, numRows), lastRow);
selected.addRange (Range <int> (jmin (firstRow, lastRow),
jmax (firstRow, lastRow) + 1));
selected.addRange (Range<int> (jmin (firstRow, lastRow),
jmax (firstRow, lastRow) + 1));
selected.removeRange (Range <int> (lastRow, lastRow + 1));
selected.removeRange (Range<int> (lastRow, lastRow + 1));
}
selectRowInternal (lastRow, false, false, true);
@@ -652,7 +652,7 @@ int ListBox::getInsertionIndexForPosition (const int x, const int y) const noexc
Component* ListBox::getComponentForRowNumber (const int row) const noexcept
{
if (RowComponent* const listRowComp = viewport->getComponentForRowIfOnscreen (row))
return static_cast <Component*> (listRowComp->customComponent);
return static_cast<Component*> (listRowComp->customComponent);
return nullptr;
}
@@ -853,6 +853,11 @@ void ListBox::colourChanged()
repaint();
}
void ListBox::parentHierarchyChanged()
{
colourChanged();
}
void ListBox::setOutlineThickness (const int newThickness)
{
outlineThickness = newThickness;


+ 2
- 0
modules/juce_gui_basics/widgets/juce_ListBox.h View File

@@ -540,6 +540,8 @@ public:
/** @internal */
void colourChanged() override;
/** @internal */
void parentHierarchyChanged() override;
/** @internal */
void startDragAndDrop (const MouseEvent&, const var& dragDescription, bool allowDraggingToOtherWindows);
private:


Loading…
Cancel
Save