Skip to content

Commit

Permalink
testjx: continue conversion to jxl
Browse files Browse the repository at this point in the history
  • Loading branch information
jafl committed Jan 20, 2024
1 parent 7b74ae0 commit 05e2422
Show file tree
Hide file tree
Showing 23 changed files with 446 additions and 660 deletions.
2 changes: 1 addition & 1 deletion libjcore/code/JStringSplit.th
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ JString::Split
const Separator& separator,
JPtrArray<JString>* partList,
const JSize limit,
const bool includeSeparators
const bool includeSeparators
)
const
{
Expand Down
85 changes: 40 additions & 45 deletions libjx/testui/code/TestDirector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ TestDirector::BuildWindow

// begin JXLayout

auto* window = jnew JXWindow(this, 400,330, JString::empty);
auto* window = jnew JXWindow(this, 400,330, JGetString("WindowTitle::TestDirector::JXLayout"));

auto* menuBar =
jnew JXMenuBar(window,
Expand All @@ -198,9 +198,12 @@ TestDirector::BuildWindow
JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 400,300);
assert( scrollbarSet != nullptr );

itsWidget =
jnew TestWidget(isMaster, testWidgetIsImage, menuBar, scrollbarSet, scrollbarSet->GetScrollEnclosure(),
JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 400,300);

// end JXLayout

window->SetTitle(JGetString("WindowTitle::TestDirector"));
window->SetWMClass("testjx", "TestDirector");

window->SetMinSize(150,150);
Expand All @@ -224,30 +227,25 @@ TestDirector::BuildWindow
itsAnimIconTask->Stop();
}));

// menus

JXImage* aboutTitleImage =
jnew JXImage(display, kSmileyBitmap[ kHappySmileyIndex ], JColorManager::GetRedColor());
assert( aboutTitleImage != nullptr );
itsAboutMenu = menuBar->AppendTextMenu(aboutTitleImage, true);
itsAboutMenu->SetMenuItems(kAboutMenuStr);
itsAboutMenu->SetUpdateAction(JXMenu::kDisableNone);
itsAboutMenu->AttachHandlers(this,
&TestDirector::UpdateAboutMenu,
&TestDirector::HandleAboutMenu);
ConfigureAboutMenu(itsAboutMenu);
itsWidget->SetSingleFocusWidget();

itsAnimHelpTask = jnew AnimateHelpMenuTask(itsAboutMenu, kHelpCmd);
// menus

itsPrintPSMenu = jnew JXTextMenu(itsAboutMenu, kPrintPSMenuCmd, menuBar);
itsPrintPSMenu->SetMenuItems(kPrintPostscriptMenuStr);
itsPrintPSMenu->SetUpdateAction(JXMenu::kDisableNone);
itsPrintPSMenu->AttachHandlers(this,
&TestDirector::UpdatePrintPSMenu,
&TestDirector::HandlePrintPSMenu);
ConfigurePrintPostscriptMenu(itsPrintPSMenu);
if (isMaster)
{
itsDisplayMenu =
jnew JXDisplayMenu(JGetString("DisplayMenuTitle::TestDirector"), menuBar,
JXWidget::kFixedLeft, JXWidget::kFixedTop,
0,0, 10,10);
assert( itsDisplayMenu != nullptr );
menuBar->PrependMenu(itsDisplayMenu);
}
else
{
itsDisplayMenu = nullptr;
}

itsTestMenu = menuBar->AppendTextMenu(JGetString("MenuTitle::TestDirector_Test"));
itsTestMenu = menuBar->PrependTextMenu(JGetString("MenuTitle::TestDirector_Test"));
itsTestMenu->SetMenuItems(kTestMenuStr);
itsTestMenu->SetUpdateAction(JXMenu::kDisableNone);
itsTestMenu->AttachHandlers(this,
Expand Down Expand Up @@ -279,29 +277,26 @@ TestDirector::BuildWindow
&TestDirector::HandlePGMenu);
ConfigureProgressDisplayMenu(itsPGMenu);

if (isMaster)
{
itsDisplayMenu =
jnew JXDisplayMenu(JGetString("DisplayMenuTitle::TestDirector"), menuBar,
JXWidget::kFixedLeft, JXWidget::kFixedTop,
0,0, 10,10);
assert( itsDisplayMenu != nullptr );
menuBar->AppendMenu(itsDisplayMenu);
}
else
{
itsDisplayMenu = nullptr;
}
JXImage* aboutTitleImage =
jnew JXImage(display, kSmileyBitmap[ kHappySmileyIndex ], JColorManager::GetRedColor());
assert( aboutTitleImage != nullptr );
itsAboutMenu = menuBar->PrependTextMenu(aboutTitleImage, true);
itsAboutMenu->SetMenuItems(kAboutMenuStr);
itsAboutMenu->SetUpdateAction(JXMenu::kDisableNone);
itsAboutMenu->AttachHandlers(this,
&TestDirector::UpdateAboutMenu,
&TestDirector::HandleAboutMenu);
ConfigureAboutMenu(itsAboutMenu);

itsWidget =
jnew TestWidget(isMaster, testWidgetIsImage,
menuBar, scrollbarSet,
scrollbarSet->GetScrollEnclosure(),
JXWidget::kHElastic, JXWidget::kVElastic,
0,0, 10,10);
assert( itsWidget != nullptr );
itsWidget->FitToEnclosure(true, true);
itsWidget->SetSingleFocusWidget();
itsAnimHelpTask = jnew AnimateHelpMenuTask(itsAboutMenu, kHelpCmd);

itsPrintPSMenu = jnew JXTextMenu(itsAboutMenu, kPrintPSMenuCmd, menuBar);
itsPrintPSMenu->SetMenuItems(kPrintPostscriptMenuStr);
itsPrintPSMenu->SetUpdateAction(JXMenu::kDisableNone);
itsPrintPSMenu->AttachHandlers(this,
&TestDirector::UpdatePrintPSMenu,
&TestDirector::HandlePrintPSMenu);
ConfigurePrintPostscriptMenu(itsPrintPSMenu);

BuildIconMenus(window, menuBar);

Expand Down
2 changes: 1 addition & 1 deletion libjx/testui/code/TestDirector.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ class TestDirector : public JXWindowDirector
const bool itsIsMasterFlag; // true if we were the first one created
JXPSPrinter* itsPSPrinter;
JXEPSPrinter* itsEPSPrinter;
TestWidget* itsWidget; // owned by its enclosure

JIndex itsIconMenuItem;

Expand All @@ -69,6 +68,7 @@ class TestDirector : public JXWindowDirector

// begin JXLayout

TestWidget* itsWidget;

// end JXLayout

Expand Down
42 changes: 42 additions & 0 deletions libjx/testui/code/TestDirector.jxl
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
jx_layout_editor 1
400
330
"JXLayout"
"Test Director"
""
0

1
0
"MenuBar"
2
0
0 0 30 400
"menuBar"
0
0

1
0
"ScrollbarSet"
2
2
30 0 330 400
"scrollbarSet"
0
0

1
2
"CustomWidget"
2
2
0 0 285 385
"itsWidget"
1
0
"TestWidget"
"isMaster, testWidgetIsImage, menuBar, scrollbarSet"
0

0
1 change: 0 additions & 1 deletion libjx/testui/code/TestFileListDirector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ TestFileListDirector::BuildWindow()
itsFLSet =
jnew JXFileListSet(menuBar, window,
JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 400,300);
assert( itsFLSet != nullptr );

// end JXLayout

Expand Down
32 changes: 32 additions & 0 deletions libjx/testui/code/TestFileListDirector.jxl
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
jx_layout_editor 1
400
330
"JXLayout"
""
""
0

1
0
"MenuBar"
2
0
0 0 30 400
"menuBar"
0
0

1
0
"CustomWidget"
2
2
30 0 330 400
"itsFLSet"
1
0
"JXFileListSet"
"menuBar"
0

0
70 changes: 26 additions & 44 deletions libjx/testui/code/TestFloatTableDirector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,71 +69,44 @@ TestFloatTableDirector::BuildWindow()
{
// begin JXLayout

auto* window = jnew JXWindow(this, 400,330, JString::empty);
auto* window = jnew JXWindow(this, 400,330, JGetString("WindowTitle::TestFloatTableDirector::JXLayout"));

auto* menuBar =
jnew JXMenuBar(window,
JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 320,30);
assert( menuBar != nullptr );

auto* rangeLabel =
jnew JXStaticText(JGetString("rangeLabel::TestFloatTableDirector::JXLayout"),window,
JXWidget::kFixedRight, JXWidget::kFixedTop, 320,10, 50,20);
rangeLabel->SetToLabel(false);

auto* scrollbarSet =
jnew JXScrollbarSet(window,
JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 400,300);
assert( scrollbarSet != nullptr );

auto* extraInput =
jnew JXFloatInput(window,
JXWidget::kFixedRight, JXWidget::kFixedTop, 370,10, 30,20);
assert( extraInput != nullptr );

auto* rangeLabel =
jnew JXStaticText(JGetString("rangeLabel::TestFloatTableDirector::JXLayout"), window,
JXWidget::kFixedRight, JXWidget::kFixedTop, 320,10, 50,20);
assert( rangeLabel != nullptr );
rangeLabel->SetToLabel();

// end JXLayout

window->SetTitle(JGetString("WindowTitle::TestFloatTableDirector"));
window->SetWMClass("testjx", "TestFloatTableDirector");
window->SetMinSize(150,150);

extraInput->SetLimits(-5.0, 5.0);

itsFileMenu = menuBar->AppendTextMenu(JGetString("MenuTitle::TestAnyTableDirector_File"));
itsFileMenu->SetMenuItems(kFileMenuStr);
itsFileMenu->AttachHandlers(this,
&TestFloatTableDirector::UpdateFileMenu,
&TestFloatTableDirector::HandleFileMenu);
ConfigureFileMenu(itsFileMenu);

// layout table and headers

JXContainer* encl = scrollbarSet->GetScrollEnclosure();

// begin tablelayout

const JRect tablelayout_Aperture = encl->GetAperture();
encl->AdjustSize(400 - tablelayout_Aperture.width(), 300 - tablelayout_Aperture.height());

itsTable =
jnew TestFloatTable(itsData, menuBar, scrollbarSet, encl,
jnew TestFloatTable(itsData, menuBar, scrollbarSet, scrollbarSet->GetScrollEnclosure(),
JXWidget::kHElastic, JXWidget::kVElastic, 10,20, 390,280);
assert( itsTable != nullptr );

itsColHeader =
jnew JXColHeaderWidget(itsTable, scrollbarSet, encl,
jnew JXColHeaderWidget(itsTable, scrollbarSet, scrollbarSet->GetScrollEnclosure(),
JXWidget::kHElastic, JXWidget::kFixedTop, 10,0, 390,20);
assert( itsColHeader != nullptr );

itsRowHeader =
jnew JXRowHeaderWidget(itsTable, scrollbarSet, encl,
jnew JXRowHeaderWidget(itsTable, scrollbarSet, scrollbarSet->GetScrollEnclosure(),
JXWidget::kFixedLeft, JXWidget::kVElastic, 0,20, 10,280);
assert( itsRowHeader != nullptr );

encl->SetSize(tablelayout_Aperture.width(), tablelayout_Aperture.height());
auto* extraInput =
jnew JXFloatInput(window,
JXWidget::kFixedRight, JXWidget::kFixedTop, 370,10, 30,20);
assert( extraInput != nullptr );

// end tablelayout
// end JXLayout

window->SetWMClass("testjx", "TestFloatTableDirector");
window->SetMinSize(150,150);

itsColHeader->TurnOnColResizing();
ListenTo(itsRowHeader, std::function([this](const JXRowHeaderWidget::NeedsToBeWidened& msg)
Expand All @@ -145,6 +118,15 @@ TestFloatTableDirector::BuildWindow()
itsTable->Move(dw,0);
itsTable->AdjustSize(-dw,0);
}));

extraInput->SetLimits(-5.0, 5.0);

itsFileMenu = menuBar->AppendTextMenu(JGetString("MenuTitle::TestAnyTableDirector_File"));
itsFileMenu->SetMenuItems(kFileMenuStr);
itsFileMenu->AttachHandlers(this,
&TestFloatTableDirector::UpdateFileMenu,
&TestFloatTableDirector::HandleFileMenu);
ConfigureFileMenu(itsFileMenu);
}

/******************************************************************************
Expand Down
7 changes: 1 addition & 6 deletions libjx/testui/code/TestFloatTableDirector.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,11 @@ class TestFloatTableDirector : public JXWindowDirector

// begin JXLayout


// end JXLayout

// begin tablelayout

TestFloatTable* itsTable;
JXColHeaderWidget* itsColHeader;
JXRowHeaderWidget* itsRowHeader;

// end tablelayout
// end JXLayout

private:

Expand Down

0 comments on commit 05e2422

Please sign in to comment.