void JX2DCursorMarkTableDir::BuildWindow ( J2DPlotWidget* plot ) { // begin JXLayout JXWindow* window = new JXWindow(this, 250,200, ""); assert( window != NULL ); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 250,200); assert( scrollbarSet != NULL ); // end JXLayout window->SetTitle("Cursor Mark Values"); window->SetMinSize(250,300); window->SetCloseAction(JXWindow::kDeactivateDirector); itsTable = new JX2DCursorMarkTable(plot, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10); assert (itsTable != NULL); itsTable->FitToEnclosure(); }
SMTPDebugDir::SMTPDebugDir ( JXDirector* supervisor ) : GMManagedDirector(supervisor) { JSize w = 400; JSize h = 300; JXWindow* window = new JXWindow(this, w,h, "Debug Window"); assert( window != NULL ); SetWindow(window); window->SetCloseAction(JXWindow::kDeactivateDirector); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, w,kJXStdMenuBarHeight); assert( menuBar != NULL ); itsFileMenu = menuBar->AppendTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr); itsFileMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFileMenu); GMDirectorMenu* menu = new GMDirectorMenu(kWindowsMenuTitleStr, menuBar, JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10); assert(menu != NULL); menuBar->AppendMenu(menu); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,kJXStdMenuBarHeight,w,h - kJXStdMenuBarHeight); assert ( scrollbarSet != NULL ); itsText = new JXStaticText("", kJFalse, kJTrue, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0,w,h - kJXStdMenuBarHeight); assert (itsText != NULL); itsMenuIcon = new JXImage(window->GetDisplay(), window->GetColormap(), JXPM(debug_xpm)); assert(itsMenuIcon != NULL); itsMenuIcon->ConvertToRemoteStorage(); GGetDirMgr()->DirectorCreated(this); }
void GloveHistoryDir::BuildWindow() { JCoordinate w = 485; JCoordinate h = 320; JPoint dtl; // JBoolean foundWindowPref = gjdbApp->GetCmdWindowSize(&dtl, &w, &h); JXWindow* window = jnew JXWindow(this, w,h, "Glove session"); assert( window != NULL ); window->SetMinSize(300,200); window->SetCloseAction(JXWindow::kDeactivateDirector); // if (foundWindowPref) // { // window->Place(dtl.x, dtl.y); // } itsMenuBar = jnew JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, w,kJXDefaultMenuBarHeight); assert( itsMenuBar != NULL ); itsFileMenu = itsMenuBar->AppendTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr); itsFileMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFileMenu); JXScrollbarSet* scrollbarSet = jnew JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,kJXDefaultMenuBarHeight, w,h - kJXDefaultMenuBarHeight); assert( scrollbarSet != NULL ); itsHistory = jnew GloveHistory(itsMenuBar, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, 10, 10); assert( itsHistory != NULL ); itsHistory->FitToEnclosure(kJTrue, kJTrue); ListenTo(itsHistory); }
void JXDialogDirector::Activate() { if (!IsActive()) { assert( !itsModalFlag || itsOKButton != NULL ); JXWindow* window = GetWindow(); assert( window != NULL ); window->SetCloseAction(JXWindow::kDeactivateDirector); window->ShouldFocusWhenShow(kJTrue); JXDirector* supervisor = GetSupervisor(); if (supervisor->IsWindowDirector()) { JXWindowDirector* windowDir = dynamic_cast(JXWindowDirector*, supervisor); assert( windowDir != NULL ); window->SetTransientFor(windowDir); }
void SCCircuitDocument::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 260,300, ""); assert( window != NULL ); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 260,30); assert( menuBar != NULL ); itsNetlistText = new JXStaticText("", kJFalse, kJTrue, NULL, JGetString("itsNetlistText::SCCircuitDocument::JXLayout"), window, JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 260,270); assert( itsNetlistText != NULL ); // end JXLayout window->SetCloseAction(JXWindow::kQuitApp); window->SetMinSize(100,100); itsFileMenu = menuBar->AppendTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr); itsFileMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFileMenu); itsAnalysisMenu = menuBar->AppendTextMenu(kAnalysisMenuTitleStr); itsAnalysisMenu->SetMenuItems(kAnalysisMenuStr); itsAnalysisMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsAnalysisMenu); itsHelpMenu = menuBar->AppendTextMenu(kHelpMenuTitleStr); itsHelpMenu->SetMenuItems(kHelpMenuStr); itsHelpMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsHelpMenu); }
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 GLFitDirector::BuildWindow() { JCoordinate w = 600; JCoordinate h = 420; JXWindow* window = new JXWindow(this, w,h, "Fit"); assert( window != NULL ); window->SetCloseAction(JXWindow::kDeactivateDirector); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, w,kJXDefaultMenuBarHeight); assert( menuBar != NULL ); itsToolBar = new JXToolBar(GetPrefsMgr(), kFitToolBarID, menuBar, w, h, window, JXWidget::kHElastic, JXWidget::kVElastic, 0,kJXDefaultMenuBarHeight, w,h - kJXDefaultMenuBarHeight); assert( itsToolBar != NULL ); JSize newHeight = itsToolBar->GetWidgetEnclosure()->GetBoundsHeight(); const JCoordinate kPartitionHandleWidth = 5; const JCoordinate kFitListWidth = 155; JArray<JCoordinate> widths(2); widths.AppendElement(kFitListWidth); widths.AppendElement(w - kFitListWidth - kPartitionHandleWidth); JIndex elasticIndex = 2; JArray<JCoordinate> minWidths(2); minWidths.AppendElement(100); minWidths.AppendElement(300); itsMainPartition = new JXHorizPartition(widths, elasticIndex, minWidths, itsToolBar->GetWidgetEnclosure(), JXWidget::kHElastic,JXWidget::kVElastic, 0, 0, w, newHeight); assert( itsMainPartition != NULL ); // This is the first column the contains the curve and fit lists. JXContainer* container = itsMainPartition->GetCompartment(1); const JCoordinate kCurveListHeight = 100; const JCoordinate kColHeaderHeight = 20; const JCoordinate kExprHeight = 50; const JCoordinate kFitListHeight = newHeight - kCurveListHeight - 2 * kPartitionHandleWidth - kExprHeight; JArray<JCoordinate> heights(3); heights.AppendElement(kCurveListHeight); heights.AppendElement(kFitListHeight); heights.AppendElement(kExprHeight); elasticIndex = 2; JArray<JCoordinate> minHeights(3); minHeights.AppendElement(50); minHeights.AppendElement(100); minHeights.AppendElement(40); itsListPartition = new JXVertPartition(heights, elasticIndex, minHeights, container, JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, kFitListWidth, newHeight); assert( itsListPartition != NULL ); container = itsListPartition->GetCompartment(1); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(container, JXWidget::kHElastic,JXWidget::kVElastic, 0, kColHeaderHeight, kFitListWidth, kCurveListHeight - kColHeaderHeight); assert( scrollbarSet != NULL ); // This will be the curve list itsCurveList = new GLCurveNameList(itsDir, itsPlot, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, kFitListWidth, kCurveListHeight - kColHeaderHeight); assert(itsCurveList != NULL); ListenTo(itsCurveList); JXColHeaderWidget* header = new JXColHeaderWidget(itsCurveList, scrollbarSet, container, JXWidget::kHElastic, JXWidget::kFixedTop, 0, 0, kFitListWidth, kColHeaderHeight); assert(header != NULL); header->SetColTitle(1, "Curves"); container = itsListPartition->GetCompartment(2); scrollbarSet = new JXScrollbarSet(container, JXWidget::kHElastic,JXWidget::kVElastic, 0, kColHeaderHeight, kFitListWidth, kFitListHeight - kColHeaderHeight); assert( scrollbarSet != NULL ); // This will be the fit list itsFitList = new GLFitDescriptionList(scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, kFitListWidth, kFitListHeight - kColHeaderHeight); assert(itsFitList != NULL); ListenTo(itsFitList); header = new JXColHeaderWidget(itsFitList, scrollbarSet, container, JXWidget::kHElastic, JXWidget::kFixedTop, 0, 0, kFitListWidth, kColHeaderHeight); assert(header != NULL); header->SetColTitle(1, "Fits"); // this is the expression widget that displays the current JFunction container = itsListPartition->GetCompartment(3); scrollbarSet = new JXScrollbarSet(container, JXWidget::kHElastic,JXWidget::kVElastic, 0, 0, kFitListWidth, kExprHeight); assert( scrollbarSet != NULL ); itsExprVarList = new GVarList(); assert(itsExprVarList != NULL); itsExprWidget = new JXExprWidget(itsExprVarList, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, kFitListWidth, kExprHeight); assert(itsExprWidget != NULL); itsExprWidget->Hide(); // This is the second column that will contain the parameter table // and the plots container = itsMainPartition->GetCompartment(2); const JCoordinate kParmsTableHeight = 50; const JCoordinate kChiSqHeight = 20; const JCoordinate kTotalParmsHeight = kParmsTableHeight + kColHeaderHeight + kChiSqHeight; const JCoordinate kFirstPlotHeight = 120; const JCoordinate kMinPlotHeight = 100; heights.RemoveAll(); heights.AppendElement(kTotalParmsHeight); heights.AppendElement(kFirstPlotHeight); heights.AppendElement(newHeight - kFirstPlotHeight - kTotalParmsHeight - 2 * kPartitionHandleWidth); elasticIndex = 2; minHeights.RemoveAll(); minHeights.AppendElement(kTotalParmsHeight - 20); minHeights.AppendElement(kMinPlotHeight); minHeights.AppendElement(kMinPlotHeight); itsPlotPartition = new JXVertPartition(heights, elasticIndex, minHeights, container, JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, w - kFitListWidth - kPartitionHandleWidth, newHeight); assert( itsPlotPartition != NULL ); container = itsPlotPartition->GetCompartment(1); scrollbarSet = new JXScrollbarSet(container, JXWidget::kHElastic,JXWidget::kVElastic, 0, kColHeaderHeight, w - kFitListWidth - kPartitionHandleWidth, kParmsTableHeight); assert( scrollbarSet != NULL ); // this will be the parameter table itsParameterTable = new GLFitParameterTable(scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, w - kFitListWidth - kPartitionHandleWidth, kParmsTableHeight); assert(itsParameterTable != NULL); ListenTo(itsParameterTable); itsParameterColHeader = new GLParmColHeaderWidget(itsParameterTable, scrollbarSet, container, JXWidget::kHElastic, JXWidget::kFixedTop, 0, 0, w - kFitListWidth - kPartitionHandleWidth, kColHeaderHeight); assert(itsParameterColHeader != NULL); itsParameterTable->SetColHeaderWidget(itsParameterColHeader); itsFitMenu = menuBar->AppendTextMenu(kFitMenuTitleStr); itsFitMenu->SetMenuItems(kFitMenuStr); itsFitMenu->SetUpdateAction(JXMenu::kDisableAll); ListenTo(itsFitMenu); const JCoordinate kChiSqLabelWidth = 170; GLChiSqLabel* label = new GLChiSqLabel(container, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 0, kParmsTableHeight + kColHeaderHeight, kChiSqLabelWidth, kChiSqHeight); assert(label != NULL); JXDownRect* downRect = new JXDownRect(container, JXWidget::kHElastic, JXWidget::kFixedBottom, kChiSqLabelWidth, kParmsTableHeight + kColHeaderHeight, w - kFitListWidth - kPartitionHandleWidth, kChiSqHeight); assert(downRect != NULL); itsChiSq = new JXStaticText("", container, JXWidget::kHElastic, JXWidget::kFixedBottom, kChiSqLabelWidth + kJXDefaultBorderWidth, kParmsTableHeight + kColHeaderHeight + kJXDefaultBorderWidth, w - kFitListWidth - kPartitionHandleWidth - 2 * kJXDefaultBorderWidth, kChiSqHeight - 2 * kJXDefaultBorderWidth); assert(itsChiSq != NULL); itsChiSq->SetBackColor(GetColormap()->GetWhiteColor()); // now add the 2 plots container = itsPlotPartition->GetCompartment(2); itsFitPlot = new JX2DPlotWidget(menuBar, container, JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, w - kFitListWidth - kPartitionHandleWidth, container->GetApertureHeight()); assert(itsFitPlot != NULL); itsFitPlot->SetTitle(kFitPlotTitle); itsFitPlot->SetXLabel(itsPlot->GetXLabel()); itsFitPlot->SetYLabel(itsPlot->GetYLabel()); container = itsPlotPartition->GetCompartment(3); itsDiffPlot = new JX2DPlotWidget(itsFitPlot, container, JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, w - kFitListWidth - kPartitionHandleWidth, newHeight - kFirstPlotHeight - kTotalParmsHeight - 2 * kPartitionHandleWidth); assert(itsDiffPlot != NULL); itsDiffPlot->SetTitle(kDiffPlotTitle); itsDiffPlot->SetXLabel(itsPlot->GetXLabel()); itsDiffPlot->SetYLabel(itsPlot->GetYLabel()); itsDiffPlot->ShowFrame(kJFalse); 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, JXPM(jx_help_specific)); itsCurveList->SetCurrentCurveIndex(1); GetPrefsMgr()->ReadFitDirectorSetup(this); }
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 SyGFindFileDialog::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 360,220, ""); assert( window != NULL ); itsActionRG = new JXRadioGroup(window, JXWidget::kHElastic, JXWidget::kFixedTop, 10,50, 340,120); assert( itsActionRG != NULL ); itsCloseButton = new JXTextButton(JGetString("itsCloseButton::SyGFindFileDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 120,190, 60,20); assert( itsCloseButton != NULL ); itsCloseButton->SetShortcuts(JGetString("itsCloseButton::SyGFindFileDialog::shortcuts::JXLayout")); itsSearchButton = new JXTextButton(JGetString("itsSearchButton::SyGFindFileDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 280,190, 60,20); assert( itsSearchButton != NULL ); itsSearchButton->SetShortcuts(JGetString("itsSearchButton::SyGFindFileDialog::shortcuts::JXLayout")); itsFileInput = new JXInputField(itsActionRG, JXWidget::kHElastic, JXWidget::kFixedTop, 35,30, 295,20); assert( itsFileInput != NULL ); JXTextRadioButton* obj1_JXLayout = new JXTextRadioButton(kFindFileAction, JGetString("obj1_JXLayout::SyGFindFileDialog::JXLayout"), itsActionRG, JXWidget::kHElastic, JXWidget::kFixedTop, 10,10, 320,20); assert( obj1_JXLayout != NULL ); obj1_JXLayout->SetShortcuts(JGetString("obj1_JXLayout::SyGFindFileDialog::shortcuts::JXLayout")); itsHelpButton = new JXTextButton(JGetString("itsHelpButton::SyGFindFileDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 200,190, 60,20); assert( itsHelpButton != NULL ); itsHelpButton->SetShortcuts(JGetString("itsHelpButton::SyGFindFileDialog::shortcuts::JXLayout")); itsStayOpenCB = new JXTextCheckbox(JGetString("itsStayOpenCB::SyGFindFileDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,190, 90,20); assert( itsStayOpenCB != NULL ); itsExprInput = new JXInputField(itsActionRG, JXWidget::kHElastic, JXWidget::kFixedTop, 35,90, 295,20); assert( itsExprInput != NULL ); JXTextRadioButton* obj2_JXLayout = new JXTextRadioButton(kFindExprAction, JGetString("obj2_JXLayout::SyGFindFileDialog::JXLayout"), itsActionRG, JXWidget::kHElastic, JXWidget::kFixedTop, 10,70, 320,20); assert( obj2_JXLayout != NULL ); obj2_JXLayout->SetShortcuts(JGetString("obj2_JXLayout::SyGFindFileDialog::shortcuts::JXLayout")); JXStaticText* obj3_JXLayout = new JXStaticText(JGetString("obj3_JXLayout::SyGFindFileDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,20, 50,20); assert( obj3_JXLayout != NULL ); obj3_JXLayout->SetToLabel(); itsPathInput = new JXPathInput(window, JXWidget::kHElastic, JXWidget::kFixedTop, 70,20, 210,20); assert( itsPathInput != NULL ); itsChoosePathButton = new JXTextButton(JGetString("itsChoosePathButton::SyGFindFileDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 280,20, 60,20); assert( itsChoosePathButton != NULL ); // end JXLayout window->SetTitle("Find files"); window->SetCloseAction(JXWindow::kDeactivateDirector); window->PlaceAsDialogWindow(); window->LockCurrentMinSize(); window->ShouldFocusWhenShow(kJTrue); itsActionRG->SetBorderWidth(0); ListenTo(itsChoosePathButton); ListenTo(itsActionRG); ListenTo(itsSearchButton); ListenTo(itsCloseButton); ListenTo(itsHelpButton); itsPathInput->ShouldAllowInvalidPath(); itsFileInput->ShouldBroadcastAllTextChanged(kJTrue); itsFileInput->SetCharacterInWordFunction(JXChooseSaveFile::IsCharacterInWord); itsFileInput->SetFont(JGetMonospaceFontName(), kJDefaultMonoFontSize, JFontStyle()); ListenTo(itsFileInput); itsExprInput->ShouldBroadcastAllTextChanged(kJTrue); itsExprInput->SetCharacterInWordFunction(JXChooseSaveFile::IsCharacterInWord); itsExprInput->SetFont(JGetMonospaceFontName(), kJDefaultMonoFontSize, JFontStyle()); ListenTo(itsExprInput); itsStayOpenCB->SetState(kJTrue); UpdateDisplay(); }
void SyGViewManPageDialog::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 360,150, ""); assert( window != NULL ); itsCloseButton = new JXTextButton(JGetString("itsCloseButton::SyGViewManPageDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 120,120, 60,20); assert( itsCloseButton != NULL ); itsCloseButton->SetShortcuts(JGetString("itsCloseButton::SyGViewManPageDialog::shortcuts::JXLayout")); itsViewButton = new JXTextButton(JGetString("itsViewButton::SyGViewManPageDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 280,120, 60,20); assert( itsViewButton != NULL ); itsViewButton->SetShortcuts(JGetString("itsViewButton::SyGViewManPageDialog::shortcuts::JXLayout")); itsFnName = new JXInputField(window, JXWidget::kHElastic, JXWidget::kFixedTop, 20,40, 290,20); assert( itsFnName != NULL ); JXStaticText* obj1_JXLayout = new JXStaticText(JGetString("obj1_JXLayout::SyGViewManPageDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,20, 100,20); assert( obj1_JXLayout != NULL ); obj1_JXLayout->SetToLabel(); JXStaticText* obj2_JXLayout = new JXStaticText(JGetString("obj2_JXLayout::SyGViewManPageDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,80, 90,20); assert( obj2_JXLayout != NULL ); obj2_JXLayout->SetToLabel(); itsAproposCheckbox = new JXTextCheckbox(JGetString("itsAproposCheckbox::SyGViewManPageDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 210,80, 80,20); assert( itsAproposCheckbox != NULL ); itsAproposCheckbox->SetShortcuts(JGetString("itsAproposCheckbox::SyGViewManPageDialog::shortcuts::JXLayout")); itsHelpButton = new JXTextButton(JGetString("itsHelpButton::SyGViewManPageDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 200,120, 60,20); assert( itsHelpButton != NULL ); itsHelpButton->SetShortcuts(JGetString("itsHelpButton::SyGViewManPageDialog::shortcuts::JXLayout")); itsFnHistoryMenu = new JXStringHistoryMenu(kHistoryLength, "", window, JXWidget::kFixedRight, JXWidget::kFixedTop, 310,40, 30,20); assert( itsFnHistoryMenu != NULL ); itsManIndex = new JXCharInput(window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 110,80, 30,20); assert( itsManIndex != NULL ); itsStayOpenCB = new JXTextCheckbox(JGetString("itsStayOpenCB::SyGViewManPageDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,120, 90,20); assert( itsStayOpenCB != NULL ); // end JXLayout window->SetTitle("Man pages"); window->SetCloseAction(JXWindow::kDeactivateDirector); window->PlaceAsDialogWindow(); window->LockCurrentMinSize(); window->ShouldFocusWhenShow(kJTrue); ListenTo(itsViewButton); ListenTo(itsCloseButton); ListenTo(itsHelpButton); ListenTo(itsFnHistoryMenu); itsFnName->ShouldBroadcastAllTextChanged(kJTrue); itsFnName->SetCharacterInWordFunction(JXChooseSaveFile::IsCharacterInWord); ListenTo(itsFnName); itsManIndex->SetIsRequired(kJFalse); itsStayOpenCB->SetState(kJTrue); UpdateDisplay(); }
void TestDirector::BuildWindow ( const JBoolean isMaster, const JBoolean bufferTestWidget, const JBoolean testWidgetIsImage ) { JXDisplay* display = (JXGetApplication())->GetCurrentDisplay(); JXColormap* colormap = display->GetColormap(); // begin JXLayout JXWindow* window = new JXWindow(this, 400,330, ""); assert( window != NULL ); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 400,30); assert( menuBar != NULL ); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 400,300); assert( scrollbarSet != NULL ); // end JXLayout window->SetTitle("Test Director"); window->SetWMClass("testjx", "TestDirector"); window->SetMinSize(150,150); if (isMaster) { window->SetCloseAction(JXWindow::kQuitApp); } else { window->SetCloseAction(JXWindow::kCloseDisplay); } itsAnimIconTask = new AnimateWindowIconTask(GetWindow()); assert( itsAnimIconTask != NULL ); ListenTo(window); // for icon animation // menus JXImage* aboutTitleImage = new JXImage(display, kSmileyBitmap[ kHappySmileyIndex ], colormap->GetRedColor()); assert( aboutTitleImage != NULL ); itsAboutMenu = menuBar->AppendTextMenu(aboutTitleImage, kJTrue); itsAboutMenu->SetShortcuts(kAboutMenuShortcuts); itsAboutMenu->SetMenuItems(kAboutMenuStr, "TestDirector"); itsAboutMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsAboutMenu); itsAnimHelpTask = new AnimateHelpMenuTask(itsAboutMenu, kHelpCmd); assert( itsAnimHelpTask != NULL ); itsPrintPSMenu = new JXTextMenu(itsAboutMenu, kPrintPSMenuCmd, menuBar); assert( itsPrintPSMenu != NULL ); itsPrintPSMenu->SetMenuItems(kPrintPSMenuStr); itsPrintPSMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsPrintPSMenu); itsTestMenu = menuBar->AppendTextMenu(kTestMenuTitleStr); itsTestMenu->SetMenuItems(kTestMenuStr); itsTestMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsTestMenu); itsUNMenu = new JXTextMenu(itsTestMenu, kTestUserNotifyMenuCmd, menuBar); assert( itsUNMenu != NULL ); itsUNMenu->SetMenuItems(kUserNotificationMenuStr); itsUNMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsUNMenu); itsCSFMenu = new JXTextMenu(itsTestMenu, kTestChooseSaveFileMenuCmd, menuBar); assert( itsCSFMenu != NULL ); itsCSFMenu->SetMenuItems(kChooseSaveFileMenuStr); itsCSFMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsCSFMenu); itsPGMenu = new JXTextMenu(itsTestMenu, kTestPGMenuCmd, menuBar); assert( itsPGMenu != NULL ); itsPGMenu->SetMenuItems(kProgressDisplayMenuStr); itsPGMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsPGMenu); if (isMaster) { itsDisplayMenu = new JXDisplayMenu(kDisplayMenuName, menuBar, JXWidget::kFixedLeft, JXWidget::kFixedTop, 0,0, 10,10); assert( itsDisplayMenu != NULL ); menuBar->AppendMenu(itsDisplayMenu); } else { itsDisplayMenu = NULL; } itsWidget = new TestWidget(isMaster, testWidgetIsImage, menuBar, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10); assert( itsWidget != NULL ); itsWidget->FitToEnclosure(kJTrue, kJTrue); itsWidget->SetSingleFocusWidget(); BuildIconMenus(window, menuBar); // do this -after- constructing JXScrollableWidget (GetWindow())->BufferDrawing(bufferTestWidget); }
PlotDir::PlotDir ( JXDirector* supervisor, JXFileDocument* notifySupervisor, const JCharacter* filename, const JBoolean hideOnClose ) : JXDocument(supervisor), itsFileName(filename) { itsSupervisor = notifySupervisor; itsHideOnClose = hideOnClose; itsPlotIsClosing = kJFalse; itsPrinter = NULL; JCoordinate w = 500; JCoordinate h = 400; JCoordinate minW = 400; JCoordinate minH = 300; JXWindow* window = jnew JXWindow(this, w,h, filename); assert( window != NULL ); window->SetMinSize(minW,minH); if (hideOnClose) { window->SetCloseAction(JXWindow::kDeactivateDirector); } JXMenuBar* menuBar = jnew JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, w, kJXDefaultMenuBarHeight); assert( menuBar != NULL ); itsPlotMenu = menuBar->AppendTextMenu(kPlotMenuTitleStr); itsPlotMenu->SetMenuItems(kPlotMenuStr); itsPlotMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsPlotMenu); itsAnalysisMenu = menuBar->AppendTextMenu(kAnalysisMenuTitleStr); itsAnalysisMenu->SetMenuItems(kAnalysisMenuStr); itsAnalysisMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsAnalysisMenu); itsFitParmsMenu = jnew JXTextMenu(itsAnalysisMenu, kFitParmsCmd, menuBar); assert( itsFitParmsMenu != NULL ); itsFitParmsMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFitParmsMenu); itsAnalysisMenu->DisableItem(kFitParmsCmd); itsDiffMenu = jnew JXTextMenu(itsAnalysisMenu, kDiffPlotCmd, menuBar); assert( itsDiffMenu != NULL ); itsDiffMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsDiffMenu); itsAnalysisMenu->DisableItem(kDiffPlotCmd); itsSessionDir = jnew GloveHistoryDir(JXGetApplication()); assert(itsSessionDir != NULL); JXGetDocumentManager()->DocumentMustStayOpen(itsSessionDir, kJTrue); ListenTo(itsSessionDir); itsPlot = jnew GlovePlotter(itsSessionDir, menuBar, window, JXWidget::kHElastic, JXWidget::kVElastic, 0, 30, w, h - kJXDefaultMenuBarHeight); assert( itsPlot != NULL ); ListenTo(itsPlot); JXDocumentMenu* windowListMenu = jnew JXDocumentMenu(kWindowListMenuTitleStr, menuBar, JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10); assert( windowListMenu != NULL ); menuBar->AppendMenu(windowListMenu); itsHelpMenu = menuBar->AppendTextMenu(kHelpMenuTitleStr); itsHelpMenu->SetMenuItems(kHelpMenuStr); itsHelpMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsHelpMenu); itsVarList = jnew GVarList(); itsVarList->AddVariable("x",0); itsXVarIndex = 1; itsFunctionDialog = NULL; itsFitModuleDialog = NULL; itsFits = jnew JPtrArray<JFitBase>(JPtrArrayT::kForgetAll); assert( itsFits != NULL ); ListenTo(itsFits); itsFitParmsDir = jnew FitParmsDir(this, itsFits); assert( itsFitParmsDir != NULL ); itsCurveStats = jnew JArray<CurveStats>; assert( itsCurveStats != NULL ); itsCurrentCurveType = kGDataCurve; itsDiffDirs = jnew JPtrArray<PlotDir>(JPtrArrayT::kForgetAll); assert( itsDiffDirs != NULL ); ListenTo(itsDiffDirs); itsPrinter = jnew JXPSPrinter(GetDisplay()); assert( itsPrinter != NULL ); itsPrinter->SetOrientation(JPSPrinter::kLandscape); itsEPSPrinter = jnew JX2DPlotEPSPrinter(GetDisplay()); assert(itsEPSPrinter != NULL); itsPlot->SetEPSPrinter(itsEPSPrinter); ListenTo(itsPrinter); }
void GAddressBookTreeDir::BuildWindow() { JCoordinate w = 300; JCoordinate minW = 250; JCoordinate h = 500; JCoordinate minH = 250; JXWindow* window = new JXWindow(this, w,h, "Addresses"); assert( window != NULL ); window->SetWMClass(GMGetWMClassInstance(), GMGetAddressBookWindowClass()); window->SetCloseAction(JXWindow::kDeactivateDirector); window->PlaceAsDialogWindow(); window->ShouldFocusWhenShow(kJTrue); //window->SetMinSize(200, 300); //window->LockCurrentMinSize(); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, w - kCloseButtonWidth,kJXDefaultMenuBarHeight); assert( menuBar != NULL ); itsCloseButton = new JXTextButton("Close", window, JXWidget::kFixedRight, JXWidget::kFixedTop, w - kCloseButtonWidth,0, kCloseButtonWidth,kJXDefaultMenuBarHeight); assert( itsCloseButton != NULL ); itsCloseButton->SetShortcuts("#W"); //^[ ListenTo(itsCloseButton); itsToolBar = new JXToolBar(GGetPrefsMgr(), kGAddressToolBarID, menuBar, minW, minH, window, JXWidget::kHElastic, JXWidget::kVElastic, 0, kJXDefaultMenuBarHeight, w, h - kJXDefaultMenuBarHeight); assert(itsToolBar != NULL); const JSize newHeight = itsToolBar->GetWidgetEnclosure()->GetBoundsHeight(); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(itsToolBar->GetWidgetEnclosure(), JXWidget::kHElastic,JXWidget::kVElastic, 0, 0, w, newHeight); assert( scrollbarSet != NULL ); JNamedTreeNode* base = new JNamedTreeNode(NULL, ""); assert(base != NULL); itsTree = new JTree(base); assert(itsTree != NULL); JNamedTreeList* list = new JNamedTreeList(itsTree); itsWidget = new GAddressBookTreeWidget(itsTree, list, menuBar, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0,w,newHeight); assert(itsWidget != NULL); GMDirectorMenu* menu = new GMDirectorMenu(kWindowsMenuTitleStr, menuBar, JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10); assert(menu != NULL); menuBar->AppendMenu(menu); itsHelpMenu = menuBar->AppendTextMenu(kHelpMenuTitleStr); itsHelpMenu->SetMenuItems(kHelpMenuStr); itsHelpMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsHelpMenu); itsHelpMenu->SetItemImage(kTOCCmd, JXPM(jx_help_toc)); itsHelpMenu->SetItemImage(kThisWindowCmd, JXPM(jx_help_specific)); itsToolBar->LoadPrefs(); if (itsToolBar->IsEmpty()) { itsWidget->AddDefaultButtcons(itsToolBar); itsToolBar->AppendButton(itsHelpMenu, kTOCCmd); itsToolBar->AppendButton(itsHelpMenu, kThisWindowCmd); } itsMenuIcon = new JXImage(window->GetDisplay(), address_entry); assert(itsMenuIcon != NULL); itsMenuIcon->ConvertToRemoteStorage(); }
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 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 JXSearchTextDialog::SetObjects ( JXInputField* searchInput, JXStringHistoryMenu* prevSearchMenu, JXTextCheckbox* ignoreCaseCB, JXTextCheckbox* entireWordCB, JXTextCheckbox* wrapSearchCB, JXTextCheckbox* searchIsRegexCB, JXTextCheckbox* singleLineCB, JXInputField* replaceInput, JXStringHistoryMenu* prevReplaceMenu, JXTextCheckbox* replaceIsRegexCB, JXTextCheckbox* preserveCaseCB, JXTextCheckbox* stayOpenCB, JXTextCheckbox* retainFocusCB, JXSearchTextButton* findFwdButton, JXSearchTextButton* findBackButton, JXTextButton* replaceButton, JXSearchTextButton* replaceFindFwdButton, JXSearchTextButton* replaceFindBackButton, JXSearchTextButton* replaceAllFwdButton, JXSearchTextButton* replaceAllBackButton, JXTextButton* replaceAllInSelButton, JXTextButton* closeButton, JXTextButton* helpButton, JXTextButton* qRefButton ) { JXWindow* window = searchInput->GetWindow(); window->SetTitle("Search text"); window->SetCloseAction(JXWindow::kDeactivateDirector); window->PlaceAsDialogWindow(); window->LockCurrentMinSize(); window->ShouldFocusWhenShow(kJTrue); ListenTo(window); itsSearchInput = searchInput; itsPrevSearchMenu = prevSearchMenu; itsIgnoreCaseCB = ignoreCaseCB; itsEntireWordCB = entireWordCB; itsWrapSearchCB = wrapSearchCB; itsSearchIsRegexCB = searchIsRegexCB; itsSingleLineCB = singleLineCB; itsReplaceInput = replaceInput; itsPrevReplaceMenu = prevReplaceMenu; itsReplaceIsRegexCB = replaceIsRegexCB; itsPreserveCaseCB = preserveCaseCB; itsStayOpenCB = stayOpenCB; itsRetainFocusCB = retainFocusCB; itsFindFwdButton = findFwdButton; itsFindBackButton = findBackButton; itsReplaceButton = replaceButton; itsReplaceFindFwdButton = replaceFindFwdButton; itsReplaceFindBackButton = replaceFindBackButton; itsReplaceAllFwdButton = replaceAllFwdButton; itsReplaceAllBackButton = replaceAllBackButton; itsReplaceAllInSelButton = replaceAllInSelButton; itsCloseButton = closeButton; itsHelpButton = helpButton; itsQRefButton = qRefButton; SetFont(JGetMonospaceFontName(), kJDefaultMonoFontSize); // decor const JRect wFrame = window->GetFrame(); const JRect soFrame = itsStayOpenCB->GetFrame(); JXDownRect* line = new JXDownRect(window, JXWidget::kFixedLeft, JXWidget::kFixedTop, soFrame.left, soFrame.top-6, wFrame.right-10-soFrame.left, 2); assert( line != NULL ); line->SetBorderWidth(1); // shortcuts itsCloseButton->SetShortcuts("#W^["); itsIgnoreCaseCB->SetShortcuts("#I"); itsWrapSearchCB->SetShortcuts("#S"); itsEntireWordCB->SetShortcuts("#E"); itsSearchIsRegexCB->SetShortcuts("#X"); itsSingleLineCB->SetShortcuts("#T"); itsPreserveCaseCB->SetShortcuts("#P"); if (JXMenu::GetDefaultStyle() == JXMenu::kMacintoshStyle) { itsFindFwdButton->SetShortcuts("#G"); itsFindFwdButton->SetHint("Return / Meta-G"); itsFindBackButton->SetHint("Shift-Return / Meta-Shift-G"); itsReplaceButton->SetShortcuts("#R#="); itsReplaceButton->SetHint("Meta-R / Meta-="); itsReplaceFindFwdButton->SetShortcuts("#L"); itsReplaceFindFwdButton->SetHint("Meta-L"); itsReplaceFindBackButton->SetHint("Meta-Shift-L"); } else { itsFindFwdButton->SetShortcuts("^G"); itsFindFwdButton->SetHint("Return / Ctrl-G"); itsFindBackButton->SetHint("Shift-Return / Ctrl-Shift-G"); itsReplaceButton->SetShortcuts("#R^="); itsReplaceButton->SetHint("Meta-R / Ctrl-="); itsReplaceFindFwdButton->SetShortcuts("^L"); itsReplaceFindFwdButton->SetHint("Ctrl-L"); itsReplaceFindBackButton->SetHint("Ctrl-Shift-L"); } JXKeyModifiers modifiers(GetDisplay()); window->InstallShortcut(itsFindFwdButton, JXCtrl('M'), modifiers); modifiers.SetState(kJXShiftKeyIndex, kJTrue); window->InstallShortcut(itsFindBackButton, JXCtrl('M'), modifiers); modifiers.SetState(kJXMetaKeyIndex, kJTrue); itsReplaceIsRegexCB->SetShortcuts("#X"); // trick to underline x window->ClearShortcuts(itsReplaceIsRegexCB); window->InstallShortcut(itsReplaceIsRegexCB, 'x', modifiers); window->InstallShortcut(itsReplaceIsRegexCB, 'X', modifiers); if (JXMenu::GetDefaultStyle() != JXMenu::kMacintoshStyle) { modifiers.SetState(kJXMetaKeyIndex, kJFalse); modifiers.SetState(kJXControlKeyIndex, kJTrue); } window->InstallShortcut(itsFindBackButton, 'g', modifiers); window->InstallShortcut(itsFindBackButton, 'G', modifiers); window->InstallShortcut(itsReplaceFindBackButton, 'l', modifiers); window->InstallShortcut(itsReplaceFindBackButton, 'L', modifiers); // broadcasters ListenTo(itsFindFwdButton); ListenTo(itsFindBackButton); ListenTo(itsReplaceButton); ListenTo(itsReplaceFindFwdButton); ListenTo(itsReplaceFindBackButton); ListenTo(itsReplaceAllFwdButton); ListenTo(itsReplaceAllBackButton); ListenTo(itsReplaceAllInSelButton); ListenTo(itsHelpButton); ListenTo(itsQRefButton); ListenTo(itsCloseButton); ListenTo(itsPrevSearchMenu); ListenTo(itsPrevReplaceMenu); itsIgnoreCaseCB->SetState(kJTrue); itsWrapSearchCB->SetState(kJTrue); itsStayOpenCB->SetState(kJTrue); itsRetainFocusCB->SetState(kJTrue); // listen after setting value ListenTo(itsStayOpenCB); // XSearch data itsSearchInput->ShouldBroadcastAllTextChanged(kJTrue); ListenTo(itsSearchInput); ListenTo(itsSearchIsRegexCB); ListenTo(itsSingleLineCB); itsReplaceInput->ShouldBroadcastAllTextChanged(kJTrue); ListenTo(itsReplaceInput); ListenTo(itsReplaceIsRegexCB); ListenTo(itsPreserveCaseCB); ListenTo(itsWrapSearchCB); ListenTo(itsEntireWordCB); ListenTo(itsIgnoreCaseCB); }
void GMailboxTreeDir::BuildWindow() { JCoordinate w = 360; JCoordinate h = 500; JXWindow* window = new JXWindow(this, w,h, "Mailbox window"); assert( window != NULL ); window->SetWMClass(GMGetWMClassInstance(), GMGetMailboxWindowClass()); window->SetCloseAction(JXWindow::kDeactivateDirector); window->PlaceAsDialogWindow(); window->ShouldFocusWhenShow(kJTrue); window->LockCurrentMinSize(); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, w - kCloseButtonWidth,kJXDefaultMenuBarHeight); assert( menuBar != NULL ); itsCloseButton = new JXTextButton("Close", window, JXWidget::kFixedRight, JXWidget::kFixedTop, w - kCloseButtonWidth,0, kCloseButtonWidth,kJXDefaultMenuBarHeight); assert( itsCloseButton != NULL ); itsCloseButton->SetShortcuts("#W"); //^[ ListenTo(itsCloseButton); itsToolBar = new JXToolBar(GGetPrefsMgr(), kGMailboxToolBarID, menuBar, w, h, window, JXWidget::kHElastic, JXWidget::kVElastic, 0, kJXDefaultMenuBarHeight, w, h - kJXDefaultMenuBarHeight); assert(itsToolBar != NULL); itsFileMenu = menuBar->AppendTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr); itsFileMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFileMenu); GMPOPRetrieverMenu* popmenu = new GMPOPRetrieverMenu(itsFileMenu, kCheckAccountCmd, menuBar); assert(popmenu != NULL); itsFileMenu->SetItemImage(kNewCmd, filenew); itsFileMenu->SetItemImage(kOpenCmd, fileopen); itsFileMenu->SetItemImage(kCheckMailCmd, check_mail); const JSize newHeight = itsToolBar->GetWidgetEnclosure()->GetBoundsHeight(); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(itsToolBar->GetWidgetEnclosure(), JXWidget::kHElastic,JXWidget::kVElastic, 0, 0, w, newHeight); assert( scrollbarSet != NULL ); GMTreeRootNode* base = new GMTreeRootNode(); assert(base != NULL); JDirInfo* info; if (base->GetDirInfo(&info)) { JString regex("^$|"); regex += GMGetMailRegexStr(); info->SetContentFilter(regex); } itsTree = new GMFileTree(base); assert(itsTree != NULL); JNamedTreeList* list = new JNamedTreeList(itsTree); itsWidget = new GMailboxTreeWidget(itsTree, list, menuBar, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0,w,newHeight); assert(itsWidget != NULL); GMDirectorMenu* menu = new GMDirectorMenu(kWindowsMenuTitleStr, menuBar, JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10); assert(menu != NULL); menuBar->AppendMenu(menu); 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, JXPM(jx_help_toc)); itsHelpMenu->SetItemImage(kThisWindowCmd, JXPM(jx_help_specific)); itsToolBar->LoadPrefs(); if (itsToolBar->IsEmpty()) { itsToolBar->AppendButton(itsFileMenu, kNewCmd); itsToolBar->AppendButton(itsFileMenu, kOpenCmd); itsToolBar->NewGroup(); itsToolBar->AppendButton(itsFileMenu, kCheckMailCmd); itsToolBar->NewGroup(); itsWidget->AddDefaultButtcons(itsToolBar); itsToolBar->AppendButton(itsHelpMenu, kTOCCmd); itsToolBar->AppendButton(itsHelpMenu, kThisWindowCmd); } itsMenuIcon = new JXImage(window->GetDisplay(), mailbox); assert(itsMenuIcon != NULL); itsMenuIcon->ConvertToRemoteStorage(); }