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(); }
void SimpleTableDir::BuildWindow() { // Create the window JXWindow* window = new JXWindow(this, 300,200, "Test SimpleTable Program"); assert( window != NULL ); // Give the window to the director SetWindow(window); // Set sizing window->SetMinSize(300,200); window->SetMaxSize(800,600); // Create the scrollbar set to hold the table JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 300,200); assert( scrollbarSet != NULL ); // Create our SimpleTable. It must be placed inside the // special widget that JXScrollbarSet creates. We get a // pointer to this special widget by calling GetScrollEnclosure(). SimpleTable* table = new SimpleTable(scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, 10, 10); assert( table != NULL ); table->FitToEnclosure(); }
void DragWidgetDir::BuildWindow() { // Create the window JXWindow* window = new JXWindow(this, 300,200, "Drag Painter Program"); assert( window != NULL ); // Give the window to the director SetWindow(window); // Set the window sizing window->SetMinSize(300,200); window->SetMaxSize(800,600); // Create the scrollbar set JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 300,200); assert( scrollbarSet != NULL ); // Create the custom widget with the scrollbarset as its enclosure DragWidget* widget = new DragWidget(scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, 10, 10); assert( widget != NULL ); // Fit the widget within the scrollbarset enclosure widget->FitToEnclosure(kJTrue, kJTrue); }
JXScrollbarSet* CBFnListDirector::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 170,250, ""); assert( window != NULL ); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 170,220); assert( scrollbarSet != NULL ); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 170,30); assert( menuBar != NULL ); // end JXLayout window->SetMinSize(150,150); itsActionsMenu = menuBar->AppendTextMenu(kActionsMenuTitleStr); itsActionsMenu->SetMenuItems(kActionsMenuStr, "CBFnListDirector"); ListenTo(itsActionsMenu); return scrollbarSet; }
void SCXferFnDirector::BuildWindow ( SCCircuitDocument* doc ) { JArray<JCoordinate> heights(2); heights.AppendElement(kInitExprHeight); heights.AppendElement(kInitExprHeight); JArray<JCoordinate> minHeights(2); minHeights.AppendElement(kMinExprHeight); minHeights.AppendElement(kMinExprHeight); // begin JXLayout JXWindow* window = new JXWindow(this, 500,230, ""); assert( window != NULL ); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 430,30); assert( menuBar != NULL ); itsPartition = new JXVertPartition(heights, 0, minHeights, window, JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 500,205); assert( itsPartition != NULL ); itsEvalButton = new JXTextButton(JGetString("itsEvalButton::SCXferFnDirector::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedTop, 430,0, 70,30); assert( itsEvalButton != NULL ); // end JXLayout window->SetTitle("Transfer function"); const JRect frame = itsPartition->GetFrame(); window->SetMinSize(150, frame.top + itsPartition->GetMinTotalSize()); ListenTo(itsEvalButton); SCExprEditorSet* exprSet = new SCExprEditorSet(doc, menuBar, &itsXferFn, itsPartition->GetCompartment(1), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( exprSet != NULL ); exprSet->FitToEnclosure(); exprSet = new SCExprEditorSet(doc, itsXferFn, &itsResult, itsPartition->GetCompartment(2), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( exprSet != NULL ); exprSet->FitToEnclosure(); }
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 WidgetDir::BuildWindow() { // Create the window JXWindow* window = jnew JXWindow(this, 300,200, "Test Widget Program"); assert( window != NULL ); // Set sizing window->SetMinSize(300,200); window->SetMaxSize(800,600); // Create our custom widget Widget* widget = jnew Widget(window, JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, 300, 200); assert( widget != NULL ); }
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); }
GloveCursorTableDir::GloveCursorTableDir ( PlotDir* supervisor, GlovePlotter* plot ) : JXWindowDirector(supervisor) { itsPlotDir = supervisor; JXWindow* window = new JXWindow(this, 250,300, "Cursor Values"); assert( window != NULL ); window->SetMinSize(250,300); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,0,250,260); itsTable = new GloveCursorTable(itsPlotDir->GetSessionDir(), plot, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0,250,260); assert (itsTable != NULL); itsCloseButton = new JXTextButton("Close", window, JXWidget::kHElastic, JXWidget::kVElastic, 10, 270, 70, 20); assert( itsCloseButton != NULL ); itsCloseButton->SetShortcuts("#W"); ListenTo(itsCloseButton); itsSessionButton = new JXTextButton("Session", window, JXWidget::kHElastic, JXWidget::kVElastic, 100, 270, 70, 20); assert( itsSessionButton != NULL ); ListenTo(itsSessionButton); }
void Test2DPlotDirector::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 600,400, ""); assert( window != NULL ); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 600,30); assert( menuBar != NULL ); itsPlotWidget = new JX2DPlotWidget(menuBar, window, JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 600,370); assert( itsPlotWidget != NULL ); // end JXLayout window->SetMinSize(300, 200); itsPSPrinter = new JXPSPrinter(GetDisplay()); assert( itsPSPrinter != NULL ); itsPlotWidget->SetPSPrinter(itsPSPrinter); itsEPSPrinter = new JX2DPlotEPSPrinter(GetDisplay()); assert( itsEPSPrinter != NULL ); itsPlotWidget->SetEPSPrinter(itsEPSPrinter); ListenTo(itsPlotWidget); itsActionsMenu = menuBar->PrependTextMenu(kActionsMenuTitleStr); itsActionsMenu->SetMenuItems(kActionsMenuStr); itsActionsMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsActionsMenu); // do this after everything is constructed so Receive() doesn't crash itsPlotWidget->SetTitle("New plot"); }
void SelectionTableDir::BuildWindow() { // Create the window JXWindow* window = new JXWindow(this, 300,200, "Test SelectionTable Program"); assert( window != NULL ); // Give the window to the director SetWindow(window); // Set sizing window->SetMinSize(300,200); window->SetMaxSize(800,600); // Create the menu bar so that it stays on top, but expands as the window // expands. JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 300,kJXDefaultMenuBarHeight); assert( menuBar != NULL ); // Create the scrollbar set to hold the table JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,kJXDefaultMenuBarHeight, 300,200-kJXDefaultMenuBarHeight); assert( scrollbarSet != NULL ); // Create our SelectionTable. It must be placed inside the // special widget that JXScrollbarSet creates. We get a // pointer to this special widget by calling GetScrollEnclosure(). SelectionTable* table = new SelectionTable(menuBar, itsData, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, 10, 10); assert( table != NULL ); table->FitToEnclosure(); }
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 CBExecOutputDocument::PlaceCmdLineWidgets() { JXWindow* window = GetWindow(); JXWidget::HSizingOption hSizing; JXWidget::VSizingOption vSizing; const JRect fileRect = GetFileDisplayInfo(&hSizing, &vSizing); itsCmdPrompt->Place(fileRect.left, fileRect.top); itsCmdPrompt->AdjustSize(0, fileRect.height() - itsCmdPrompt->GetFrameHeight()); const JCoordinate promptWidth = itsCmdPrompt->GetFrameWidth(); const JCoordinate eofWidth = itsEOFButton->GetFont().GetStringWidth(itsEOFButton->GetLabel()) + 2 * itsEOFButton->GetPadding().x + 2 * itsEOFButton->GetBorderWidth(); itsCmdInput->Place(fileRect.left + promptWidth, fileRect.top); JCoordinate cmdInputWidth = fileRect.width() - promptWidth - eofWidth; if (cmdInputWidth < kMinCmdInputWidth) { window->AdjustSize(kMinCmdInputWidth - cmdInputWidth, 0); cmdInputWidth = kMinCmdInputWidth; } itsCmdInput->SetSize(cmdInputWidth, fileRect.height()); const JPoint p = window->GetMinSize(); window->SetMinSize(window->GetFrameWidth() - (cmdInputWidth - kMinCmdInputWidth), p.y); itsEOFButton->Place(fileRect.right - eofWidth, fileRect.top); itsEOFButton->SetSize(eofWidth, fileRect.height()); UpdateButtons(); }
void SCFeedbackDirector::BuildWindow ( SCCircuitDocument* doc ) { const SCCircuit* circuit = doc->GetCircuit(); JArray<JCoordinate> heights(4); heights.AppendElement(kInitExprHeight); heights.AppendElement(kInitExprHeight); heights.AppendElement(kInitExprHeight); heights.AppendElement(kInitExprHeight); JArray<JCoordinate> minHeights(4); minHeights.AppendElement(kMinExprHeight); minHeights.AppendElement(kMinExprHeight); minHeights.AppendElement(kMinExprHeight); minHeights.AppendElement(kMinExprHeight); // begin JXLayout JXWindow* window = new JXWindow(this, 360,520, ""); assert( window != NULL ); itsMainPartition = new JXVertPartition(heights, 0, minHeights, window, JXWidget::kHElastic, JXWidget::kVElastic, 0,110, 365,415); assert( itsMainPartition != NULL ); itsInputSource = new SCComponentMenu(circuit, SCACSourceFilter, "Input source:", window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,20, 150,30); assert( itsInputSource != NULL ); itsDepSource = new SCComponentMenu(circuit, SCDepSourceFilter, "Dependent source:", window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,60, 150,30); assert( itsDepSource != NULL ); itsEvalButton = new JXTextButton(JGetString("itsEvalButton::SCFeedbackDirector::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedTop, 230,20, 80,20); assert( itsEvalButton != NULL ); JXStaticText* layoutMessage = new JXStaticText(JGetString("layoutMessage::SCFeedbackDirector::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedTop, 240,50, 110,60); assert( layoutMessage != NULL ); // end JXLayout const JCoordinate kMinWindowWidth = window->GetBoundsWidth(); window->SetTitle("Feedback Theorem"); window->SetMinSize(kMinWindowWidth, window->GetBoundsHeight()); layoutMessage->SetText( "Output fn\nH0 | Hinf\n T | Tn\nScratch area"); itsInputSource->SetToPopupChoice(kJTrue); itsDepSource->SetToPopupChoice(kJTrue); ListenTo(itsEvalButton); // create sub-partitions const JCoordinate w = (itsMainPartition->GetBoundsWidth() - JPartition::kDragRegionSize)/2; JArray<JCoordinate> widths(2); widths.AppendElement(w); widths.AppendElement(w); const JCoordinate wMin = (kMinWindowWidth - JPartition::kDragRegionSize)/2; JArray<JCoordinate> minWidths(2); minWidths.AppendElement(wMin); minWidths.AppendElement(wMin); JXContainer* encl = itsMainPartition->GetCompartment(2); itsHPartition = new JXHorizPartition(widths, 0, minWidths, encl, JXWidget::kHElastic, JXWidget::kVElastic, 0,0, encl->GetBoundsWidth(), encl->GetBoundsHeight()); assert( itsHPartition != NULL ); encl = itsMainPartition->GetCompartment(3); itsTPartition = new JXHorizPartition(widths, 0, minWidths, encl, JXWidget::kHElastic, JXWidget::kVElastic, 0,0, encl->GetBoundsWidth(), encl->GetBoundsHeight()); assert( itsTPartition != NULL ); // create expressions SCExprEditorSet* exprSet = new SCExprEditorSet(doc, &itsOutputFn, itsMainPartition->GetCompartment(1), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( exprSet != NULL ); exprSet->FitToEnclosure(); exprSet = new SCExprEditorSet(doc, itsOutputFn, &itsH0, itsHPartition->GetCompartment(1), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( exprSet != NULL ); exprSet->FitToEnclosure(); exprSet = new SCExprEditorSet(doc, itsOutputFn, &itsHinf, itsHPartition->GetCompartment(2), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( exprSet != NULL ); exprSet->FitToEnclosure(); exprSet = new SCExprEditorSet(doc, itsOutputFn, &itsT, itsTPartition->GetCompartment(1), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( exprSet != NULL ); exprSet->FitToEnclosure(); exprSet = new SCExprEditorSet(doc, itsOutputFn, &itsTn, itsTPartition->GetCompartment(2), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( exprSet != NULL ); exprSet->FitToEnclosure(); exprSet = new SCExprEditorSet(doc, itsOutputFn, &itsScratchFn, itsMainPartition->GetCompartment(4), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( exprSet != NULL ); exprSet->FitToEnclosure(); // add our menu items JXTextMenu* menu = itsOutputFn->GetExtraMenu(); menu->AppendItem(kBuildH0FormItemStr); itsBuildH0Index = menu->GetItemCount(); menu->AppendItem(kBuildHinfFormItemStr); itsBuildHinfIndex = menu->GetItemCount(); menu->ShowSeparatorAfter(itsBuildH0Index-1); ListenTo(menu); }
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 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 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 GXDataDocument::BuildWindow() { JSize w = 453; JSize h = 360; JXWindow* window = jnew JXWindow(this, w,h, ""); assert( window != NULL ); JXMenuBar* menuBar = jnew JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, w, kJXDefaultMenuBarHeight); assert( menuBar != NULL ); JXToolBar* toolBar = jnew JXToolBar(GetPrefsMgr(), kDataToolBarID, menuBar, window, JXWidget::kHElastic, JXWidget::kVElastic, 0,kJXDefaultMenuBarHeight, w,h - kJXDefaultMenuBarHeight); assert( toolBar != NULL ); window->SetMinSize(150, 150); itsFileMenu = menuBar->AppendTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr); ListenTo(itsFileMenu); JXImage* image = jnew JXImage(GetDisplay(), JXPM(filenew)); assert(image != NULL); itsFileMenu->SetItemImage(kNewCmd, image, kJTrue); image = jnew JXImage(GetDisplay(), JXPM(fileopen)); assert(image != NULL); itsFileMenu->SetItemImage(kOpenCmd, image, kJTrue); image = jnew JXImage(GetDisplay(), JXPM(filefloppy)); assert(image != NULL); itsFileMenu->SetItemImage(kSaveCmd, image, kJTrue); image = jnew JXImage(GetDisplay(), JXPM(fileprint)); assert(image != NULL); itsFileMenu->SetItemImage(kPrintCmd, image, kJTrue); const JCoordinate scrollheight = toolBar->GetWidgetEnclosure()->GetBoundsHeight(); itsScrollbarSet = jnew JXScrollbarSet(toolBar->GetWidgetEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, w, scrollheight); assert( itsScrollbarSet != NULL ); AdjustWindowTitle(); // layout table and headers const JCoordinate kRowHeaderWidth = 30; const JCoordinate kColHeaderHeight = 20; JXContainer* encl = itsScrollbarSet->GetScrollEnclosure(); JRect enclApG = encl->GetApertureGlobal(); JXTextButton* okButton = jnew JXTextButton("OK", encl, JXWidget::kFixedLeft, JXWidget::kFixedTop, 0, 0, kRowHeaderWidth-2, kColHeaderHeight-2); assert(okButton != NULL); itsTable = jnew GXRaggedFloatTable(this, okButton, itsData, 6, menuBar, itsScrollbarSet, encl, JXWidget::kHElastic, JXWidget::kVElastic, kRowHeaderWidth,kColHeaderHeight, enclApG.width() - kRowHeaderWidth, enclApG.height() - kColHeaderHeight); assert( itsTable != NULL ); enclApG = encl->GetApertureGlobal(); // JXScrollableWidget forces a change in this GXRowHeaderWidget* rowHeader = jnew GXRowHeaderWidget(itsTable, itsScrollbarSet, encl, JXWidget::kFixedLeft, JXWidget::kVElastic, 0,kColHeaderHeight, kRowHeaderWidth, enclApG.height() - kColHeaderHeight); assert( rowHeader != NULL ); GXColHeaderWidget* colHeader = jnew GXColHeaderWidget(itsTable, itsScrollbarSet, encl, JXWidget::kHElastic, JXWidget::kFixedTop, kRowHeaderWidth,0, enclApG.width() - kRowHeaderWidth, kColHeaderHeight); colHeader->TurnOnColResizing(20); assert( colHeader != NULL ); JXDocumentMenu* windowListMenu = jnew JXDocumentMenu(kWindowListMenuTitleStr, menuBar, JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10); assert( windowListMenu != NULL ); menuBar->AppendMenu(windowListMenu); itsExportMenu = jnew JXTextMenu(itsFileMenu, kExportCmd, menuBar); assert( itsExportMenu != NULL ); itsExportMenu->SetMenuItems(kExportMenuStr); itsExportMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsExportMenu); itsHelpMenu = menuBar->AppendTextMenu(kHelpMenuTitleStr); itsHelpMenu->SetMenuItems(kHelpMenuStr); itsHelpMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsHelpMenu); image = jnew JXImage(GetDisplay(), JXPM(manual)); assert(image != NULL); itsHelpMenu->SetItemImage(kTOCCmd, image, kJTrue); toolBar->LoadPrefs(); if (toolBar->IsEmpty()) { toolBar->AppendButton(itsFileMenu, kNewCmd); toolBar->AppendButton(itsFileMenu, kOpenCmd); toolBar->AppendButton(itsFileMenu, kSaveCmd); toolBar->NewGroup(); toolBar->AppendButton(itsFileMenu, kPrintCmd); itsTable->LoadDefaultToolButtons(toolBar); toolBar->NewGroup(); toolBar->AppendButton(itsHelpMenu, kTOCCmd); } }
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); }
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); } }
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 GMessageViewDir::BuildWindow ( const JString& mailfile ) { JSize w = 500; JSize h = 300; JXWindow* window = new JXWindow(this, w,h, mailfile); assert( window != NULL ); window->SetWMClass(GMGetWMClassInstance(), GMGetViewWindowClass()); GGetPrefsMgr()->GetViewWindowSize(window); w = window->GetFrameWidth(); h = window->GetFrameHeight(); window->SetMinSize(w, 150); window->ShouldFocusWhenShow(kJTrue); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0, 0, w - kJXDefaultMenuBarHeight, kJXDefaultMenuBarHeight); assert(menuBar != NULL); JXEngravedRect* eRect = new JXEngravedRect(window, JXWidget::kFixedRight, JXWidget::kFixedTop, w - kJXDefaultMenuBarHeight, 0, kJXDefaultMenuBarHeight, kJXDefaultMenuBarHeight); assert(eRect != NULL); GMMessageDragSource* mds = new GMMessageDragSource(this, window, JXWidget::kFixedRight, JXWidget::kFixedTop, w - kJXDefaultMenuBarHeight + kJXDefaultBorderWidth, 0 + kJXDefaultBorderWidth, kJXDefaultMenuBarHeight - 2 * kJXDefaultBorderWidth + 1, kJXDefaultMenuBarHeight - 2 * kJXDefaultBorderWidth + 1); assert(mds != NULL); itsFileMenu = menuBar->AppendTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr); itsFileMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFileMenu); JPtrArray<JString> nodes(JPtrArrayT::kDeleteAll); GGetMailboxTreeDir()->GetTopLevelNodes(&nodes); itsTransferMenu = new JXFSDirMenu(nodes, itsFileMenu, kTransferToCmd, menuBar); assert(itsTransferMenu != NULL); ListenTo(itsTransferMenu); JDirInfo* info; if (itsTransferMenu->GetDirInfo(&info)) { info->SetContentFilter(GMGetMailRegexStr()); } itsCopyMenu = new JXFSDirMenu(nodes, itsFileMenu, kCopyToCmd, menuBar); assert(itsCopyMenu != NULL); ListenTo(itsCopyMenu); if (itsCopyMenu->GetDirInfo(&info)) { info->SetContentFilter(GMGetMailRegexStr()); } ListenTo(GGetMailboxTreeDir()); itsMessageMenu = menuBar->AppendTextMenu(kMessageMenuTitleStr); itsMessageMenu->SetMenuItems(kMessageMenuStr); itsMessageMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsMessageMenu); itsToolBar = new JXToolBar(GGetPrefsMgr(), kGViewToolBarID, menuBar, w, 150, window, JXWidget::kHElastic, JXWidget::kVElastic, 0, kJXDefaultMenuBarHeight, w, h - kJXDefaultMenuBarHeight); assert(itsToolBar != NULL); const JSize newHeight = itsToolBar->GetWidgetEnclosure()->GetBoundsHeight(); const JFontManager* fm = window->GetFontManager(); JSize lineHeight = fm->GetLineHeight(GGetPrefsMgr()->GetDefaultMonoFont(), GGetPrefsMgr()->GetDefaultFontSize(), JFontStyle()); const JCoordinate headerheight = (lineHeight * 4) + (lineHeight/2); //58; JArray<JCoordinate> sizes; JArray<JCoordinate> minSizes; sizes.AppendElement(headerheight); minSizes.AppendElement(20); sizes.AppendElement(w - headerheight); minSizes.AppendElement(50); JIndex elasticIndex = 2; itsPart = new JXVertPartition(sizes, elasticIndex, minSizes, itsToolBar->GetWidgetEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, w, newHeight); assert(itsPart != NULL); itsSBSet = new JXScrollbarSet(itsPart->GetCompartment(2), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert(itsSBSet != NULL); itsSBSet->FitToEnclosure(kJTrue, kJTrue); itsView = new GMessageView(menuBar, itsSBSet, itsSBSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0,10,10); assert (itsView != NULL); itsView->FitToEnclosure(kJTrue, kJTrue); itsView->SetPTPrinter(GMGetAltPTPrinter()); window->InstallShortcuts(itsView, "#_"); ListenTo(itsView); JXScrollbarSet* sbs = new JXScrollbarSet(itsPart->GetCompartment(1), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,50); assert(sbs != NULL); sbs->FitToEnclosure(kJTrue, kJTrue); itsHeader = new GMessageView(sbs, sbs->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0,10,10); assert (itsHeader != NULL); itsHeader->FitToEnclosure(kJTrue, kJTrue); itsHeader->ShareEditMenu(itsView); itsHeader->ShareSearchMenu(itsView); 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); itsFileMenu->SetItemImage(kNewCmd, filenew); itsFileMenu->SetItemImage(kNewMBox, envelopes); itsFileMenu->SetItemImage(kOpenCmd, fileopen); itsFileMenu->SetItemImage(kSaveCmd, filefloppy); itsFileMenu->SetItemImage(kPrintCmd, fileprint); itsFileMenu->SetItemImage(kShowNextCmd, mini_right); itsFileMenu->SetItemImage(kDeleteShowNextCmd, mini_del_right); itsFileMenu->SetItemImage(kShowPrevCmd, mini_left); itsMessageMenu->SetItemImage(kDecryptCmd, unlock_xpm); itsMessageMenu->SetItemImage(kSaveAttachCmd, paperclip); itsMessageMenu->SetItemImage(kReplyCmd, reply_xpm); itsMessageMenu->SetItemImage(kReplySenderCmd, reply_sender_xpm); itsMessageMenu->SetItemImage(kReplyAllCmd, reply_all_xpm); itsMessageMenu->SetItemImage(kForwardCmd, forward_xpm); itsMessageMenu->SetItemImage(kRedirectCmd, redirect_xpm); itsHelpMenu->SetItemImage(kTOCCmd, 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, kSaveCmd); itsToolBar->NewGroup(); itsToolBar->AppendButton(itsFileMenu, kPrintCmd); itsToolBar->NewGroup(); itsToolBar->AppendButton(itsFileMenu, kShowNextCmd); itsToolBar->AppendButton(itsFileMenu, kShowPrevCmd); itsToolBar->AppendButton(itsFileMenu, kDeleteShowNextCmd); itsToolBar->NewGroup(); itsToolBar->AppendButton(itsMessageMenu, kReplyCmd); itsToolBar->AppendButton(itsMessageMenu, kReplySenderCmd); itsToolBar->AppendButton(itsMessageMenu, kReplyAllCmd); itsToolBar->AppendButton(itsMessageMenu, kForwardCmd); itsToolBar->AppendButton(itsMessageMenu, kRedirectCmd); } itsMenuIcon = new JXImage(window->GetDisplay(), jx_plain_file_small); assert(itsMenuIcon != NULL); itsMenuIcon->ConvertToRemoteStorage(); }
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); }