void JXDockDirector::BuildWindow ( const JCharacter* title, const JBoolean splitHoriz ) { const JCoordinate kSize = 300; JArray<JCoordinate> sizes; sizes.AppendElement(kSize); sizes.AppendElement(kSize); JArray<JCoordinate> minSizes; minSizes.AppendElement(JXDockWidget::kDefaultMinSize); minSizes.AppendElement(JXDockWidget::kDefaultMinSize); const JCoordinate w = 2*kSize + (splitHoriz ? JPartition::kDragRegionSize : 0); const JCoordinate h = 2*kSize + (splitHoriz ? 0 : JPartition::kDragRegionSize); JXWindow* window = jnew JXWindow(this, w, h, title); assert( window != NULL ); JXImage* icon; if ((JXGetDockManager())->CreateIcon(&icon)) { window->SetIcon(icon); } if (splitHoriz) { itsHorizPartition = jnew JXHorizDockPartition(this, NULL, sizes, 0, minSizes, window, JXWidget::kHElastic, JXWidget::kVElastic, 0,0, w,h); assert( itsHorizPartition != NULL ); } else { itsVertPartition = jnew JXVertDockPartition(this, NULL, sizes, 0, minSizes, window, JXWidget::kHElastic, JXWidget::kVElastic, 0,0, w,h); assert( itsVertPartition != NULL ); } window->SetMinSize(100,100); window->SetWMClass("Dock", JXGetDockWindowClass()); }
void GPMMainDirector::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 530,350, ""); assert( window != NULL ); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 540,30); assert( menuBar != NULL ); itsToolBar = new JXToolBar(GPMGetPrefsManager(), kGPMMainToolBarID, menuBar, 540, 250, window, JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 530,300); assert( itsToolBar != NULL ); itsFullCmdDisplay = new JXStaticText("", kJFalse, kJTrue, NULL, window, JXWidget::kHElastic, JXWidget::kFixedBottom, 0,330, 530,20); assert( itsFullCmdDisplay != NULL ); // end JXLayout window->SetTitle("Drakon Process Manager"); window->SetCloseAction(JXWindow::kQuitApp); window->SetWMClass(GPMGetWMClassInstance(), GPMGetMainWindowClass()); JXImage* image = new JXImage(GetDisplay(), gpm_main_window_icon); assert( image != NULL ); window->SetIcon(image); // system stats itsSystemStats = new GPMSystemStats(itsProcessList, itsToolBar->GetWidgetEnclosure(), JXWidget::kHElastic, JXWidget::kFixedTop, 0,kStatusMargin, 100,kStatusHeight); assert( itsSystemStats != NULL ); itsSystemStats->FitToEnclosure(kJTrue, kJFalse); // tab group itsTabGroup = new JXTabGroup(itsToolBar->GetWidgetEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( itsTabGroup != NULL ); itsTabGroup->FitToEnclosure(); ListenTo(itsTabGroup->GetCardEnclosure()); const JCoordinate statusHeight = kStatusHeight + 2*kStatusMargin; itsTabGroup->AdjustSize(0, -statusHeight); itsTabGroup->Move(0, statusHeight); JXWidgetSet* listTab = itsTabGroup->AppendTab("List"); JXWidgetSet* treeTab = itsTabGroup->AppendTab("Tree"); // list view JXScrollbarSet* scrollbarSet = new JXScrollbarSet(listTab, JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( scrollbarSet != NULL ); scrollbarSet->FitToEnclosure(); const JCoordinate kHeaderHeight = 25; const JCoordinate tableHeight = scrollbarSet->GetScrollEnclosure()->GetBoundsHeight() - kHeaderHeight; itsProcessTable = new GPMProcessTable(itsProcessList, itsFullCmdDisplay, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,kHeaderHeight, 100,tableHeight); assert( itsProcessTable != NULL ); itsProcessTable->FitToEnclosure(kJTrue, kJFalse); GPMListHeaderWidget* tableHeader = new GPMListHeaderWidget(itsProcessTable, itsProcessList, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 100,kHeaderHeight); assert( tableHeader != NULL ); tableHeader->FitToEnclosure(kJTrue, kJFalse); // tree view scrollbarSet = new JXScrollbarSet(treeTab, JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( scrollbarSet != NULL ); scrollbarSet->FitToEnclosure(); JNamedTreeList* treeList = new JNamedTreeList(itsProcessList->GetProcessTree()); assert( treeList != NULL ); itsProcessTree = new GPMProcessTreeList(itsProcessList, treeList, itsFullCmdDisplay, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,kHeaderHeight, 100,tableHeight); assert( itsProcessTree != NULL ); itsProcessTree->FitToEnclosure(kJTrue, kJFalse); GPMTreeHeaderWidget* treeHeader = new GPMTreeHeaderWidget(itsProcessTree, itsProcessList, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 100,kHeaderHeight); assert( treeHeader != NULL ); treeHeader->FitToEnclosure(kJTrue, kJFalse); itsProcessTable->SetDefaultRowHeight(itsProcessTree->GetDefaultRowHeight()); // focus hocus pocus window->UnregisterFocusWidget(itsFullCmdDisplay); window->RegisterFocusWidget(itsFullCmdDisplay); // menus itsFileMenu = menuBar->AppendTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr); itsFileMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFileMenu); itsProcessMenu = menuBar->AppendTextMenu(kProcessMenuTitleStr); itsProcessMenu->SetMenuItems(kProcessMenuStr, "GPMProcessTable"); ListenTo(itsProcessMenu); itsProcessMenu->SetItemImage(kShowAllCmd, JXPM(gpm_all_processes)); itsProcessMenu->SetItemImage(kEndCmd, JXPM(gpm_stop)); itsProcessMenu->SetItemImage(kKillCmd, JXPM(jx_edit_clear)); itsProcessMenu->SetItemImage(kPauseCmd, JXPM(gpm_pause)); itsProcessMenu->SetItemImage(kContinueCmd, JXPM(gpm_cont)); itsProcessMenu->SetItemImage(kReNiceCmd, JXPM(gpm_slow)); itsPrefsMenu = menuBar->AppendTextMenu(kPrefsMenuTitleStr); itsPrefsMenu->SetMenuItems(kPrefsMenuStr); itsPrefsMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsPrefsMenu); itsHelpMenu = menuBar->AppendTextMenu(kHelpMenuTitleStr); itsHelpMenu->SetMenuItems(kHelpMenuStr); itsHelpMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsHelpMenu); itsHelpMenu->SetItemImage(kTOCCmd, jx_help_toc); itsHelpMenu->SetItemImage(kThisWindowCmd, jx_help_specific); // must be done after creating widgets itsToolBar->LoadPrefs(); if (itsToolBar->IsEmpty()) { itsToolBar->AppendButton(itsFileMenu, kQuitCmd); itsToolBar->NewGroup(); itsToolBar->AppendButton(itsProcessMenu, kShowAllCmd); itsToolBar->NewGroup(); itsToolBar->AppendButton(itsProcessMenu, kEndCmd); itsToolBar->AppendButton(itsProcessMenu, kKillCmd); itsToolBar->NewGroup(); itsToolBar->AppendButton(itsProcessMenu, kPauseCmd); itsToolBar->AppendButton(itsProcessMenu, kContinueCmd); itsToolBar->NewGroup(); itsToolBar->AppendButton(itsProcessMenu, kReNiceCmd); itsToolBar->NewGroup(); itsToolBar->AppendButton(itsHelpMenu, kTOCCmd); itsToolBar->AppendButton(itsHelpMenu, kThisWindowCmd); } }
void THXBaseConvDirector::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 300,130, ""); assert( window != NULL ); SetWindow(window); itsCloseButton = new JXTextButton("Close", window, JXWidget::kFixedRight, JXWidget::kFixedTop, 180,100, 60,20); assert( itsCloseButton != NULL ); itsCloseButton->SetShortcuts("#W^["); itsFromValue = new JXInputField(window, JXWidget::kHElastic, JXWidget::kFixedTop, 110,20, 70,20); assert( itsFromValue != NULL ); JXStaticText* obj1 = new JXStaticText("Convert from:", window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,20, 90,20); assert( obj1 != NULL ); itsHelpButton = new JXTextButton("Help", window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 60,100, 60,20); assert( itsHelpButton != NULL ); itsFromBase = new THXBaseConvMenu(window, JXWidget::kFixedRight, JXWidget::kFixedTop, 190,15, 90,30); assert( itsFromBase != NULL ); JXStaticText* obj2 = new JXStaticText("Result:", window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,60, 90,20); assert( obj2 != NULL ); itsToBase = new THXBaseConvMenu(window, JXWidget::kFixedRight, JXWidget::kFixedTop, 190,55, 90,30); assert( itsToBase != NULL ); itsToValue = new JXStaticText("", kJFalse, kJTrue, NULL, window, JXWidget::kHElastic, JXWidget::kFixedTop, 110,60, 70,20); assert( itsToValue != NULL ); // end JXLayout window->SetTitle("Base Conversion"); window->SetWMClass(THXGetWMClassInstance(), THXGetBaseConvWindowClass()); window->LockCurrentMinSize(); window->SetCloseAction(JXWindow::kDeactivateDirector); window->ShouldFocusWhenShow(kJTrue); window->PlaceAsDialogWindow(); JXDisplay* display = GetDisplay(); JXImage* icon = new JXImage(display, display->GetColormap(), thx_base_conv_window); assert( icon != NULL ); window->SetIcon(icon); itsFromValue->ShouldBroadcastAllTextChanged(kJTrue); // want every keypress ListenTo(itsFromValue); ListenTo(itsFromBase); ListenTo(itsToBase); ListenTo(itsCloseButton); ListenTo(itsHelpButton); }
void CMSourceDirector::BuildWindow() { const JIndex prefID = itsType == kMainSourceType ? kMainSrcToolBarID : itsType == kMainAsmType ? kMainAsmToolBarID : itsType == kAsmType ? kOtherAsmToolBarID : kOtherSrcToolBarID; // begin JXLayout JXWindow* window = jnew JXWindow(this, 600,550, ""); assert( window != NULL ); itsMenuBar = jnew JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 600,30); assert( itsMenuBar != NULL ); itsToolBar = jnew JXToolBar(CMGetPrefsManager(), prefID, itsMenuBar, window, JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 600,500); assert( itsToolBar != NULL ); itsFileDisplay = jnew JXFileNameDisplay("", window, JXWidget::kHElastic, JXWidget::kFixedBottom, 20,530, 580,20); assert( itsFileDisplay != NULL ); CMFileDragSource* dragSource = jnew CMFileDragSource(this, window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 0,530, 20,20); assert( dragSource != NULL ); // end JXLayout window->SetTitle(JGetString( itsType == kMainAsmType ? "InitAsmWindowTitle::CMSourceDirector" : "InitSourceWindowTitle::CMSourceDirector")); window->SetMinSize(300, 200); if (itsType == kMainSourceType) { window->SetCloseAction(JXWindow::kDeactivateDirector); window->SetWMClass(CMGetWMClassInstance(), CMGetMainSourceWindowClass()); CMGetPrefsManager()->GetWindowSize(kMainCodeWindSizeID, window); JXDisplay* display = GetDisplay(); JXImage* icon = jnew JXImage(display, medic_current_source_window); assert( icon != NULL ); window->SetIcon(icon); } else if (itsType == kMainAsmType) { window->SetCloseAction(JXWindow::kDeactivateDirector); window->SetWMClass(CMGetWMClassInstance(), CMGetMainAsmWindowClass()); CMGetPrefsManager()->GetWindowSize(kMainAsmWindSizeID, window); JXDisplay* display = GetDisplay(); JXImage* icon = jnew JXImage(display, medic_current_asm_window); assert( icon != NULL ); window->SetIcon(icon); } else if (itsType == kAsmType) { window->SetWMClass(CMGetWMClassInstance(), CMGetAsmViewWindowClass()); CMGetPrefsManager()->GetWindowSize(kAsmWindSizeID, window, kJTrue); } else { window->SetWMClass(CMGetWMClassInstance(), CMGetSourceViewWindowClass()); CMGetPrefsManager()->GetWindowSize(kCodeWindSizeID, window, kJTrue); } JCoordinate w = window->GetFrameWidth(); itsFileMenu = itsMenuBar->AppendTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr, "CMSourceDirector"); itsFileMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFileMenu); itsFileMenu->SetItemImage(kOpenCmd, jx_file_open); itsFileMenu->SetItemImage(kPrintCmd, jx_file_print); // appends Edit & Search menus const JCoordinate kInitTableWidth = 50; JXScrollbarSet* scrollbarSet = jnew JXScrollbarSet(itsToolBar->GetWidgetEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( scrollbarSet != NULL ); scrollbarSet->FitToEnclosure(); JXContainer* encl = scrollbarSet->GetScrollEnclosure(); itsText = jnew CMSourceText(this, itsCommandDir, itsMenuBar, scrollbarSet, encl, JXWidget::kHElastic, JXWidget::kVElastic, kInitTableWidth, 0, encl->GetApertureWidth()-kInitTableWidth, 100); assert( itsText != NULL ); itsText->FitToEnclosure(kJFalse, kJTrue); ListenTo(itsText); if (itsType == kMainAsmType || itsType == kAsmType) { itsTable = jnew CMLineAddressTable(this, itsText, scrollbarSet, encl, JXWidget::kFixedLeft, JXWidget::kVElastic, 0, 0, kInitTableWidth, 100); } else { itsTable = jnew CMLineNumberTable(this, itsText, scrollbarSet, encl, JXWidget::kFixedLeft, JXWidget::kVElastic, 0, 0, kInitTableWidth, 100); } assert( itsTable != NULL ); itsTable->FitToEnclosure(kJFalse, kJTrue); // requires itsText itsDebugMenu = itsCommandDir->CreateDebugMenu(itsMenuBar); ListenTo(itsDebugMenu); itsFnMenu = jnew CBFunctionMenu(NULL, kCBUnknownFT, itsText, itsMenuBar, JXWidget::kFixedLeft, JXWidget::kFixedTop, 0,0, 10,10); assert( itsFnMenu != NULL ); itsFnMenu->Hide(); itsPrefsMenu = itsMenuBar->AppendTextMenu(kPrefsMenuTitleStr); itsPrefsMenu->SetMenuItems(kPrefsMenuStr, "CMSourceDirector"); itsPrefsMenu->SetUpdateAction(JXMenu::kDisableNone); if (IsMainSourceWindow()) { itsPrefsMenu->RemoveItem(kWindowSizeCmd); } ListenTo(itsPrefsMenu); itsHelpMenu = itsMenuBar->AppendTextMenu(kHelpMenuTitleStr); itsHelpMenu->SetMenuItems(kHelpMenuStr, "CMSourceDirector"); itsHelpMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsHelpMenu); itsHelpMenu->SetItemImage(kTOCCmd, jx_help_toc); itsHelpMenu->SetItemImage(kThisWindowCmd, jx_help_specific); if (!IsMainSourceWindow()) { (GetDisplay()->GetWDManager())->DirectorCreated(this); } }
void CMRegistersDir::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 450,500, ""); assert( window != NULL ); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 450,30); assert( menuBar != NULL ); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 450,470); assert( scrollbarSet != NULL ); // end JXLayout window->SetTitle(JGetString("WindowTitleSuffix::CMRegistersDir")); window->SetCloseAction(JXWindow::kDeactivateDirector); window->SetMinSize(150, 150); window->ShouldFocusWhenShow(kJTrue); window->SetWMClass(CMGetWMClassInstance(), CMGetRegistersWindowClass()); (CMGetPrefsManager())->GetWindowSize(kRegistersWindowSizeID, window); JXDisplay* display = GetDisplay(); JXImage* icon = new JXImage(display, medic_registers_window); assert( icon != NULL ); window->SetIcon(icon); itsWidget = new JXStaticText("", kJFalse, kJTrue, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert(itsWidget != NULL); itsWidget->FitToEnclosure(); JString name; JSize size; (CMGetPrefsManager())->GetDefaultFont(&name, &size); itsWidget->SetFont(name, size); // menus itsFileMenu = menuBar->PrependTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr, "CMThreadsDir"); itsFileMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFileMenu); itsFileMenu->SetItemImage(kOpenCmd, jx_file_open); itsWidget->AppendEditMenu(menuBar); JXWDMenu* wdMenu = new JXWDMenu(kWindowsMenuTitleStr, menuBar, JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10); assert( wdMenu != NULL ); menuBar->AppendMenu(wdMenu); itsHelpMenu = menuBar->AppendTextMenu(kHelpMenuTitleStr); itsHelpMenu->SetMenuItems(kHelpMenuStr, "CMRegistersDir"); itsHelpMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsHelpMenu); itsHelpMenu->SetItemImage(kTOCCmd, jx_help_toc); itsHelpMenu->SetItemImage(kThisWindowCmd, jx_help_specific); }
void CMLocalVarsDir::BuildWindow() { // begin JXLayout JXWindow* window = jnew JXWindow(this, 450,500, ""); assert( window != NULL ); JXMenuBar* menuBar = jnew JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 450,30); assert( menuBar != NULL ); JXScrollbarSet* scrollbarSet = jnew JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 450,470); assert( scrollbarSet != NULL ); // end JXLayout window->SetTitle(kWindowTitleSuffix); window->SetCloseAction(JXWindow::kDeactivateDirector); window->SetMinSize(150, 150); window->ShouldFocusWhenShow(kJTrue); window->SetWMClass(CMGetWMClassInstance(), CMGetVariableWindowClass()); CMGetPrefsManager()->GetWindowSize(kLocalVarWindSizeID, window); JXDisplay* display = GetDisplay(); JXImage* icon = jnew JXImage(display, medic_local_variables_window); assert( icon != NULL ); window->SetIcon(icon); CMVarNode* root = itsLink->CreateVarNode(kJFalse); assert( root != NULL ); itsTree = jnew JTree(root); assert( itsTree != NULL ); JNamedTreeList* treeList = jnew JNamedTreeList(itsTree); assert( treeList != NULL ); itsWidget = jnew CMVarTreeWidget(itsCommandDir, kJFalse, menuBar, itsTree, treeList, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert(itsWidget != NULL); itsWidget->FitToEnclosure(); itsGetLocalsCmd = itsLink->CreateGetLocalVars(root); // menus itsFileMenu = menuBar->PrependTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr, "CMThreadsDir"); itsFileMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFileMenu); itsFileMenu->SetItemImage(kOpenCmd, jx_file_open); itsActionMenu = menuBar->AppendTextMenu(kActionMenuTitleStr); menuBar->InsertMenu(3, itsActionMenu); itsActionMenu->SetMenuItems(kActionMenuStr, "CMLocalVarsDir"); ListenTo(itsActionMenu); itsActionMenu->SetItemImage(kDisplay1DArrayCmd, medic_show_1d_array); itsActionMenu->SetItemImage(kPlot1DArrayCmd, medic_show_2d_plot); itsActionMenu->SetItemImage(kDisplay2DArrayCmd, medic_show_2d_array); itsActionMenu->SetItemImage(kExamineMemCmd, medic_show_memory); JXWDMenu* wdMenu = jnew JXWDMenu(kWindowsMenuTitleStr, menuBar, JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10); assert( wdMenu != NULL ); menuBar->AppendMenu(wdMenu); itsHelpMenu = menuBar->AppendTextMenu(kHelpMenuTitleStr); itsHelpMenu->SetMenuItems(kHelpMenuStr, "CMLocalVarsDir"); itsHelpMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsHelpMenu); itsHelpMenu->SetItemImage(kTOCCmd, jx_help_toc); itsHelpMenu->SetItemImage(kThisWindowCmd, jx_help_specific); }
void JXTipOfTheDayDialog::BuildWindow ( const JBoolean showStartupCB, const JBoolean showAtStartup ) { // begin JXLayout JXWindow* window = new JXWindow(this, 410,260, ""); assert( window != NULL ); JXFlatRect* sideBar = new JXFlatRect(window, JXWidget::kFixedLeft, JXWidget::kVElastic, 10,10, 50,200); assert( sideBar != NULL ); sideBar->SetColor((GetColormap())->GetInactiveLabelColor()); itsCloseButton = new JXTextButton(JGetString("itsCloseButton::JXTipOfTheDayDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 340,225, 60,20); assert( itsCloseButton != NULL ); itsNextTipButton = new JXTextButton(JGetString("itsNextTipButton::JXTipOfTheDayDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 260,225, 60,20); assert( itsNextTipButton != NULL ); itsNextTipButton->SetShortcuts(JGetString("itsNextTipButton::JXTipOfTheDayDialog::shortcuts::JXLayout")); JXImageWidget* icon = new JXImageWidget(sideBar, JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,15, 30,30); assert( icon != NULL ); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 60,60, 340,150); assert( scrollbarSet != NULL ); JXStaticText* title = new JXStaticText(JGetString("title::JXTipOfTheDayDialog::JXLayout"), window, JXWidget::kHElastic, JXWidget::kFixedTop, 60,10, 340,50); assert( title != NULL ); itsShowAtStartupCB = new JXTextCheckbox(JGetString("itsShowAtStartupCB::JXTipOfTheDayDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 10,225, 140,20); assert( itsShowAtStartupCB != NULL ); // end JXLayout window->SetTitle("Tip of the Day"); window->LockCurrentMinSize(); window->PlaceAsDialogWindow(); JXDisplay* display = GetDisplay(); JXImage* wIcon = new JXImage(display, jx_tip_of_the_day); assert( wIcon != NULL ); window->SetIcon(wIcon); sideBar->SetColor((GetColormap())->GetGrayColor(50)); icon->SetXPM(jx_tip_of_the_day, (GetColormap())->GetGrayColor(50)); title->SetBorderWidth(kJXDefaultBorderWidth); title->TESetLeftMarginWidth(5); title->SetBackColor(title->GetFocusColor()); title->JTextEditor::SetFont(1, title->GetTextLength(), "Times", 18, JFontStyle(kJTrue, kJFalse, 0, kJFalse), kJTrue); title->SetCaretLocation(1); title->Paste("\n"); itsText = new JXStaticText("", kJTrue, kJFalse, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( itsText != NULL ); itsText->FitToEnclosure(); itsText->TESetLeftMarginWidth(5); itsShowAtStartupCB->SetVisible(showStartupCB); itsShowAtStartupCB->SetState(showAtStartup); ListenTo(itsNextTipButton); ListenTo(itsCloseButton); }
void CMArray1DDir::BuildWindow() { // begin JXLayout JXWindow* window = jnew JXWindow(this, 300,500, ""); assert( window != NULL ); itsExprInput = jnew CMArrayExprInput(window, JXWidget::kHElastic, JXWidget::kFixedTop, 110,40, 170,20); assert( itsExprInput != NULL ); JXStaticText* startLabel = jnew JXStaticText(JGetString("startLabel::CMArray1DDir::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,70, 90,20); assert( startLabel != NULL ); startLabel->SetToLabel(); JXStaticText* endLabel = jnew JXStaticText(JGetString("endLabel::CMArray1DDir::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,100, 90,20); assert( endLabel != NULL ); endLabel->SetToLabel(); itsStopButton = jnew JXTextButton(JGetString("itsStopButton::CMArray1DDir::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 200,85, 60,20); assert( itsStopButton != NULL ); itsStopButton->SetShortcuts(JGetString("itsStopButton::CMArray1DDir::shortcuts::JXLayout")); JXMenuBar* menuBar = jnew JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 300,30); assert( menuBar != NULL ); JXScrollbarSet* scrollbarSet = jnew JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,130, 300,370); assert( scrollbarSet != NULL ); itsStartIndex = jnew CMArrayIndexInput(window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 110,70, 60,20); assert( itsStartIndex != NULL ); itsEndIndex = jnew CMArrayIndexInput(window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 110,100, 60,20); assert( itsEndIndex != NULL ); JXStaticText* exprLabel = jnew JXStaticText(JGetString("exprLabel::CMArray1DDir::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,40, 90,20); assert( exprLabel != NULL ); exprLabel->SetToLabel(); // end JXLayout window->SetMinSize(300, 200); window->ShouldFocusWhenShow(kJTrue); window->SetWMClass(CMGetWMClassInstance(), CMGetArray1DWindowClass()); UpdateWindowTitle(); JXDisplay* display = GetDisplay(); JXImage* icon = jnew JXImage(display, medic_1d_array_window); assert( icon != NULL ); window->SetIcon(icon); CMGetPrefsManager()->GetWindowSize(kArray1DWindSizeID, window, kJTrue); CMVarNode* root = itsLink->CreateVarNode(); assert( root != NULL ); itsTree = jnew JTree(root); assert( itsTree != NULL ); JNamedTreeList* treeList = jnew JNamedTreeList(itsTree); assert( treeList != NULL ); itsWidget = jnew CMVarTreeWidget(itsCommandDir, kJFalse, menuBar, itsTree, treeList, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert(itsWidget != NULL); itsWidget->FitToEnclosure(); itsExprInput->SetText(itsExpr); itsExprInput->SetIsRequired(); ListenTo(itsExprInput); itsStartIndex->SetValue(itsRequestRange.first); ListenTo(itsStartIndex); itsEndIndex->SetValue(itsRequestRange.last); ListenTo(itsEndIndex); itsStopButton->Hide(); ListenTo(itsStopButton); // menus itsFileMenu = menuBar->PrependTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr, "CMThreadsDir"); itsFileMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFileMenu); itsFileMenu->SetItemImage(kOpenCmd, jx_file_open); JXTEBase* te = itsWidget->GetEditMenuHandler(); itsExprInput->ShareEditMenu(te); itsStartIndex->ShareEditMenu(te); itsEndIndex->ShareEditMenu(te); itsActionMenu = menuBar->AppendTextMenu(kActionMenuTitleStr); menuBar->InsertMenu(3, itsActionMenu); itsActionMenu->SetMenuItems(kActionMenuStr, "CMArray1DDir"); ListenTo(itsActionMenu); itsActionMenu->SetItemImage(kDisplay1DArrayCmd, medic_show_1d_array); itsActionMenu->SetItemImage(kPlot1DArrayCmd, medic_show_2d_plot); itsActionMenu->SetItemImage(kDisplay2DArrayCmd, medic_show_2d_array); itsActionMenu->SetItemImage(kExamineMemCmd, medic_show_memory); JXWDMenu* wdMenu = jnew JXWDMenu(kWindowsMenuTitleStr, menuBar, JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10); assert( wdMenu != NULL ); menuBar->AppendMenu(wdMenu); itsHelpMenu = menuBar->AppendTextMenu(kHelpMenuTitleStr); itsHelpMenu->SetMenuItems(kHelpMenuStr, "CMArray1DDir"); itsHelpMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsHelpMenu); itsHelpMenu->SetItemImage(kTOCCmd, jx_help_toc); itsHelpMenu->SetItemImage(kThisWindowCmd, jx_help_specific); (GetDisplay()->GetWDManager())->DirectorCreated(this); }
void WizChatDirector::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 600,250, ""); assert( window != NULL ); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 600,30); assert( menuBar != NULL ); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 600,180); assert( scrollbarSet != NULL ); itsChatInput = new WizChatInput(window, JXWidget::kHElastic, JXWidget::kFixedBottom, 90,210, 510,40); assert( itsChatInput != NULL ); itsChatShortcutMenu = new WizChatShortcutMenu(itsChatInput, window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 0,210, 90,20); assert( itsChatShortcutMenu != NULL ); itsChatTargetMenu = new WizChatTargetMenu(itsChatInput, itsChatShortcutMenu, window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 0,230, 90,20); assert( itsChatTargetMenu != NULL ); // end JXLayout window->SetTitle("Chat"); window->SetMinSize(150, 150); window->SetWMClass(WizGetWMClassInstance(), WizGetChatWindowClass()); JXDisplay* display = GetDisplay(); JXImage* icon = new JXImage(display, display->GetColormap(), jx_un_message); assert( icon != NULL ); window->SetIcon(icon); itsMessageDisplay = new JXStaticText("", kJTrue, kJTrue, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( itsMessageDisplay != NULL ); itsMessageDisplay->FitToEnclosure(); itsChatInput->SetShortcutMenu(itsChatShortcutMenu); ListenTo(itsChatTargetMenu); itsActionsMenu = menuBar->AppendTextMenu(kActionsMenuTitleStr); itsActionsMenu->SetMenuItems(kActionsMenuStr); itsActionsMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsActionsMenu); itsMessageDisplay->AppendEditMenu(menuBar); itsChatInput->ShareEditMenu(itsMessageDisplay); itsPrefsMenu = menuBar->AppendTextMenu(kPrefsMenuTitleStr); itsPrefsMenu->SetMenuItems(kPrefsMenuStr); itsPrefsMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsPrefsMenu); itsHelpMenu = menuBar->AppendTextMenu(kHelpMenuTitleStr); itsHelpMenu->SetMenuItems(kHelpMenuStr); itsHelpMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsHelpMenu); }