Skip to content

Commit

Permalink
jx_layout_editor: fix so show/hide toolbar doesn't change layout size
Browse files Browse the repository at this point in the history
  • Loading branch information
jafl committed Jan 27, 2024
1 parent 32c65f1 commit 888c4bf
Show file tree
Hide file tree
Showing 51 changed files with 587 additions and 368 deletions.
12 changes: 5 additions & 7 deletions libjx/code/JXAcceptLicenseDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ JXAcceptLicenseDialog::BuildWindow()
JXWidget::kHElastic, JXWidget::kVElastic, 20,20, 470,500);
assert( scrollbarSet != nullptr );

auto* text =
jnew JXStaticText(JGetString("LICENSE"), true, false, true, scrollbarSet, scrollbarSet->GetScrollEnclosure(),
JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 470,500);
assert( text != nullptr );

auto* yesButton =
jnew JXTextButton(JGetString("yesButton::JXAcceptLicenseDialog::JXLayout"), window,
JXWidget::kFixedLeft, JXWidget::kFixedBottom, 100,540, 100,20);
Expand All @@ -66,11 +71,4 @@ JXAcceptLicenseDialog::BuildWindow()
// end JXLayout

SetButtons(yesButton, noButton);

auto* text =
jnew JXStaticText(JGetString("LICENSE"), true, false, true,
scrollbarSet, scrollbarSet->GetScrollEnclosure(),
JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100);
assert( text != nullptr );
text->FitToEnclosure();
}
17 changes: 16 additions & 1 deletion libjx/code/JXAcceptLicenseDialog.jxl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
jx_layout_editor 5
jx_layout_editor 6
510
570
"JXLayout"
Expand All @@ -18,6 +18,21 @@ jx_layout_editor 5
0
0

1
1
"CustomWidget"
2
2
0 0 485 455
"text"
0
0
0
"JXStaticText"
"JGetString(\"LICENSE\"), true, false, true, scrollbarSet"
0
""

1
0
"TextButton"
Expand Down
4 changes: 2 additions & 2 deletions libjx/code/JXOKToCloseDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ JXOKToCloseDialog::BuildWindow
icon->SetImage(GetDisplay()->GetImageCache()->GetImage(jx_un_warning), false);

auto* text =
jnew JXStaticText(JString::empty, window,
jnew JXStaticText(JString::empty, true, false, false, nullptr, window,
JXWidget::kHElastic, JXWidget::kVElastic, 60,20, 250,50);
text->SetToLabel(false);
assert( text != nullptr );

itsDiscardButton =
jnew JXTextButton(JGetString("itsDiscardButton::JXOKToCloseDialog::JXLayout"), window,
Expand Down
4 changes: 2 additions & 2 deletions libjx/code/JXOKToCloseDialog.jxl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
jx_layout_editor 5
jx_layout_editor 6
330
110
"JXLayout"
Expand Down Expand Up @@ -31,9 +31,9 @@ jx_layout_editor 5
0
0
""
1
0
0
1
0
0

Expand Down
1 change: 1 addition & 0 deletions libjx/code/JXPGDirectorBase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ JXPGDirectorBase::Init
JXButton* cancelButton
)
{
window->SetTitle(JGetString("WindowTitle::JXPGDirectorBase"));
window->HideFromTaskbar();

// instantaneous redraw when Raise()
Expand Down
63 changes: 49 additions & 14 deletions libjx/code/JXToolBar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,10 @@ const JUtf8Byte* JXToolBar::kIgnorePrefix = "__";

// JBroadcaster message types

const JUtf8Byte* JXToolBar::kWantsToDrop = "WantsToDrop::JXToolBar";
const JUtf8Byte* JXToolBar::kHandleDrop = "HandleDrop::JXToolBar";
const JUtf8Byte* JXToolBar::kWantsToDrop = "WantsToDrop::JXToolBar";
const JUtf8Byte* JXToolBar::kHandleDrop = "HandleDrop::JXToolBar";
const JUtf8Byte* JXToolBar::kPrepareForResize = "PrepareForResize::JXToolBar";
const JUtf8Byte* JXToolBar::kResizeFinished = "ResizeFinished::JXToolBar";

/******************************************************************************
Constructor
Expand Down Expand Up @@ -96,6 +98,7 @@ JXToolBar::JXToolBar
itsWasShowingButtons(false),
itsButtonType(JXToolBarButton::kImage),
itsLoadedPrefs(false),
itsResizeCount(0),
itsUpgradeFn(nullptr)
{
assert(h >= 40);
Expand Down Expand Up @@ -671,18 +674,6 @@ JXToolBar::FindItemAndAdd
return false;
}

/******************************************************************************
IsEmpty (public)
******************************************************************************/

bool
JXToolBar::IsEmpty()
const
{
return itsButtons->IsEmpty();
}

/******************************************************************************
AdjustToolBarGeometry (public)
Expand All @@ -693,6 +684,8 @@ JXToolBar::AdjustToolBarGeometry()
{
if (itsIsShowingButtons)
{
SendPrepareForResize();

RevertBar();

itsNextButtonPosition = kButConBuffer;
Expand All @@ -709,6 +702,8 @@ JXToolBar::AdjustToolBarGeometry()

itsToolBarEnclosure->Place(0,itsToolBarSet->GetBoundsHeight());
itsToolBarEnclosure->SetSize(GetBoundsWidth(), GetBoundsHeight() - itsToolBarSet->GetBoundsHeight());

SendResizeFinished();
}
}

Expand Down Expand Up @@ -908,6 +903,8 @@ JXToolBar::ShowToolBar
{
if (show && !itsIsShowingButtons)
{
SendPrepareForResize();

itsToolBarSet->Show();
itsIsShowingButtons = true;
AdjustWindowMinSize();
Expand All @@ -919,9 +916,13 @@ JXToolBar::ShowToolBar
{
itsTimerTask->Start();
}

SendResizeFinished();
}
else if (!show && itsIsShowingButtons)
{
SendPrepareForResize();

itsToolBarSet->Hide();
itsIsShowingButtons = false;
AdjustWindowMinSize();
Expand All @@ -930,6 +931,40 @@ JXToolBar::ShowToolBar
itsToolBarEnclosure->SetSize(GetBoundsWidth(), GetBoundsHeight());

itsTimerTask->Stop();

SendResizeFinished();
}
}

/******************************************************************************
SendPrepareForResize (private)
******************************************************************************/

void
JXToolBar::SendPrepareForResize()
{
if (itsResizeCount == 0)
{
Broadcast(PrepareForResize());
}
itsResizeCount++;
}

/******************************************************************************
SendResizeFinished (private)
******************************************************************************/

void
JXToolBar::SendResizeFinished()
{
assert( itsResizeCount > 0 );

itsResizeCount--;
if (itsResizeCount == 0)
{
Broadcast(ResizeFinished());
}
}

Expand Down

0 comments on commit 888c4bf

Please sign in to comment.