CBFnListDirector::CBFnListDirector ( istream& input, const JFileVersion vers, JBoolean* keep, CBTreeDirector* supervisor, JXPSPrinter* printer, const CBTreeWidget* treeWidget ) : JXWindowDirector(supervisor) { JXScrollbarSet* scrollbarSet = BuildWindow(); (GetWindow())->ReadGeometry(input); itsFnListWidget = new CBFnListWidget(input, vers, keep, treeWidget, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10); CBFnListDirectorX(supervisor, printer, kJFalse, *keep); if (vers >= 24) { // must read even if !keep so next guy won't fail itsFnListWidget->ReadScrollSetup(input); } }
SCExprEditorSet::SCExprEditorSet ( SCCircuitDocument* doc, SCExprEditor* menuProvider, SCExprEditor** exprWidget, JXContainer* enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h ) : JXWidgetSet(enclosure, hSizing, vSizing, x,y, w,h) { JXScrollbarSet* scrollbarSet = new JXScrollbarSet(this, kHElastic, kVElastic, 0,0, w,h); assert( scrollbarSet != NULL ); *exprWidget = new SCExprEditor(doc, menuProvider, scrollbarSet, scrollbarSet->GetScrollEnclosure(), kHElastic, kVElastic, 0,0, 10,10); assert( *exprWidget != NULL ); (**exprWidget).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 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 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); }
void CBSymbolSRDirector::BuildWindow ( CBSymbolList* symbolList, const JBoolean focus ) { // begin JXLayout JXWindow* window = new JXWindow(this, 400,230, ""); assert( window != NULL ); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 400,200); assert( scrollbarSet != NULL ); JXMenuBar* menuBar = new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 400,30); assert( menuBar != NULL ); // end JXLayout window->LockCurrentMinSize(); if (focus) { window->ShouldFocusWhenShow(kJTrue); } itsSymbolTable = new CBSymbolTable(itsMainSymDir, symbolList, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10); assert( itsSymbolTable != NULL ); itsSymbolTable->FitToEnclosure(); itsActionsMenu = menuBar->AppendTextMenu(kActionsMenuTitleStr); itsActionsMenu->SetMenuItems(kActionsMenuStr, "CBSymbolSRDirector"); itsActionsMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsActionsMenu); itsActionsMenu->SetItemImage(kShowCTreeCmd, jcc_show_c_tree); itsActionsMenu->SetItemImage(kShowJavaTreeCmd, jcc_show_java_tree); itsActionsMenu->SetItemImage(kShowPHPTreeCmd, jcc_show_php_tree); itsCmdMenu = new CBCommandMenu(itsProjDoc, NULL, menuBar, JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10); assert( itsCmdMenu != NULL ); menuBar->AppendMenu(itsCmdMenu); ListenTo(itsCmdMenu); }
void CMChooseProcessDialog::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 390,500, ""); assert( window != NULL ); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 20,50, 350,400); assert( scrollbarSet != NULL ); itsProcessIDInput = new JXIntegerInput(window, JXWidget::kHElastic, JXWidget::kFixedBottom, 90,470, 80,20); assert( itsProcessIDInput != NULL ); JXStaticText* obj1_JXLayout = new JXStaticText(JGetString("obj1_JXLayout::CMChooseProcessDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 20,470, 70,20); assert( obj1_JXLayout != NULL ); obj1_JXLayout->SetToLabel(); JXTextButton* cancelButton = new JXTextButton(JGetString("cancelButton::CMChooseProcessDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 215,470, 60,20); assert( cancelButton != NULL ); JXTextButton* okButton = new JXTextButton(JGetString("okButton::CMChooseProcessDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 310,470, 60,20); assert( okButton != NULL ); okButton->SetShortcuts(JGetString("okButton::CMChooseProcessDialog::shortcuts::JXLayout")); JXStaticText* obj2_JXLayout = new JXStaticText(JGetString("obj2_JXLayout::CMChooseProcessDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,20, 360,20); assert( obj2_JXLayout != NULL ); obj2_JXLayout->SetToLabel(); // end JXLayout window->SetTitle("Choose process"); SetButtons(okButton, cancelButton); itsText = new CMProcessText(this, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10); assert( itsText != NULL ); itsText->FitToEnclosure(); itsText->SetDefaultFont(JGetMonospaceFontName(), kJDefaultMonoFontSize); }
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); }
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); }
CBFnListDirector::CBFnListDirector ( CBTreeDirector* supervisor, JXPSPrinter* printer, const CBClass* theClass, const CBTreeWidget* treeWidget, const JBoolean showInheritedFns, const JBoolean forPopupMenu ) : JXWindowDirector(supervisor) { JXScrollbarSet* scrollbarSet = BuildWindow(); itsFnListWidget = new CBFnListWidget(treeWidget, theClass, showInheritedFns, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10); CBFnListDirectorX(supervisor, printer, forPopupMenu, kJTrue); }
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 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 CBEditSearchPathsDialog::BuildWindow ( const CBDirList& dirList, CBRelPathCSF* csf ) { // begin JXLayout JXWindow* window = jnew JXWindow(this, 370,370, ""); assert( window != NULL ); JXScrollbarSet* scrollbarSet = jnew JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kFixedBottom, 20,100, 240,220); assert( scrollbarSet != NULL ); JXTextButton* cancelButton = jnew JXTextButton(JGetString("cancelButton::CBEditSearchPathsDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 70,340, 70,20); assert( cancelButton != NULL ); JXTextButton* okButton = jnew JXTextButton(JGetString("okButton::CBEditSearchPathsDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 230,340, 70,20); assert( okButton != NULL ); JXStaticText* instrText = jnew JXStaticText(JGetString("instrText::CBEditSearchPathsDialog::JXLayout"), window, JXWidget::kHElastic, JXWidget::kVElastic, 20,20, 330,70); assert( instrText != NULL ); JXTextButton* addPathButton = jnew JXTextButton(JGetString("addPathButton::CBEditSearchPathsDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 280,110, 70,20); assert( addPathButton != NULL ); addPathButton->SetShortcuts(JGetString("addPathButton::CBEditSearchPathsDialog::shortcuts::JXLayout")); JXTextButton* removePathButton = jnew JXTextButton(JGetString("removePathButton::CBEditSearchPathsDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 280,140, 70,20); assert( removePathButton != NULL ); removePathButton->SetShortcuts(JGetString("removePathButton::CBEditSearchPathsDialog::shortcuts::JXLayout")); JXTextButton* choosePathButton = jnew JXTextButton(JGetString("choosePathButton::CBEditSearchPathsDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 280,190, 70,20); assert( choosePathButton != NULL ); choosePathButton->SetShortcuts(JGetString("choosePathButton::CBEditSearchPathsDialog::shortcuts::JXLayout")); // end JXLayout instrText->SetText(JGetString(kInstructionsID)); window->AdjustSize(0, instrText->GetBoundsHeight() - instrText->GetFrameHeight()); instrText->SetSizing(JXWidget::kHElastic, JXWidget::kFixedTop); scrollbarSet->SetSizing(JXWidget::kHElastic, JXWidget::kVElastic); addPathButton->SetSizing(JXWidget::kFixedRight, JXWidget::kFixedTop); removePathButton->SetSizing(JXWidget::kFixedRight, JXWidget::kFixedTop); choosePathButton->SetSizing(JXWidget::kFixedRight, JXWidget::kFixedTop); window->SetTitle("Search Paths for Symbol Database"); window->PlaceAsDialogWindow(); window->LockCurrentMinSize(); UseModalPlacement(kJFalse); SetButtons(okButton, cancelButton); itsTable = jnew CBPathTable(dirList, addPathButton, removePathButton, choosePathButton, csf, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10); assert( itsTable != NULL ); }
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 CBSearchTextDialog::BuildWindow() { // begin JXLayout JXWindow* window = jnew JXWindow(this, 450,470, ""); assert( window != NULL ); JXStaticText* replaceLabel = jnew JXStaticText(JGetString("replaceLabel::CBSearchTextDialog::JXLayout"), window, JXWidget::kHElastic, JXWidget::kFixedTop, 20,101, 220,20); assert( replaceLabel != NULL ); replaceLabel->SetToLabel(); JXStaticText* searchLabel = jnew JXStaticText(JGetString("searchLabel::CBSearchTextDialog::JXLayout"), window, JXWidget::kHElastic, JXWidget::kFixedTop, 20,31, 220,20); assert( searchLabel != NULL ); searchLabel->SetToLabel(); JXInputField* searchInput = jnew JXInputField(kJTrue, kJFalse, window, JXWidget::kHElastic, JXWidget::kFixedTop, 20,50, 220,40); assert( searchInput != NULL ); JXInputField* replaceInput = jnew JXInputField(kJTrue, kJFalse, window, JXWidget::kHElastic, JXWidget::kFixedTop, 20,120, 220,40); assert( replaceInput != NULL ); JXTextButton* closeButton = jnew JXTextButton(JGetString("closeButton::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 320,440, 80,20); assert( closeButton != NULL ); JXTextCheckbox* ignoreCaseCB = jnew JXTextCheckbox(JGetString("ignoreCaseCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,180, 130,20); assert( ignoreCaseCB != NULL ); JXTextCheckbox* wrapSearchCB = jnew JXTextCheckbox(JGetString("wrapSearchCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,240, 130,20); assert( wrapSearchCB != NULL ); JXTextButton* replaceButton = jnew JXTextButton(JGetString("replaceButton::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedTop, 300,50, 140,20); assert( replaceButton != NULL ); JXTextCheckbox* entireWordCB = jnew JXTextCheckbox(JGetString("entireWordCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,210, 130,20); assert( entireWordCB != NULL ); JXStringHistoryMenu* prevReplaceMenu = jnew JXStringHistoryMenu(kHistoryLength, "", window, JXWidget::kFixedRight, JXWidget::kFixedTop, 250,130, 30,20); assert( prevReplaceMenu != NULL ); JXStringHistoryMenu* prevSearchMenu = jnew JXStringHistoryMenu(kHistoryLength, "", window, JXWidget::kFixedRight, JXWidget::kFixedTop, 250,60, 30,20); assert( prevSearchMenu != NULL ); JXTextButton* helpButton = jnew JXTextButton(JGetString("helpButton::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 60,440, 80,20); assert( helpButton != NULL ); helpButton->SetShortcuts(JGetString("helpButton::CBSearchTextDialog::shortcuts::JXLayout")); JXTextCheckbox* searchIsRegexCB = jnew JXTextCheckbox(JGetString("searchIsRegexCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 160,180, 150,20); assert( searchIsRegexCB != NULL ); JXTextCheckbox* replaceIsRegexCB = jnew JXTextCheckbox(JGetString("replaceIsRegexCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 320,180, 110,20); assert( replaceIsRegexCB != NULL ); JXTextCheckbox* singleLineCB = jnew JXTextCheckbox(JGetString("singleLineCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 160,210, 150,20); assert( singleLineCB != NULL ); JXTextCheckbox* preserveCaseCB = jnew JXTextCheckbox(JGetString("preserveCaseCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 320,210, 110,20); assert( preserveCaseCB != NULL ); JXTextButton* qRefButton = jnew JXTextButton(JGetString("qRefButton::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 190,440, 80,20); assert( qRefButton != NULL ); itsMultifileCB = jnew JXTextCheckbox(JGetString("itsMultifileCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,360, 100,20); assert( itsMultifileCB != NULL ); itsMultifileCB->SetShortcuts(JGetString("itsMultifileCB::CBSearchTextDialog::shortcuts::JXLayout")); JXScrollbarSet* scrollbarSet = jnew JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 140,360, 300,60); assert( scrollbarSet != NULL ); JXStaticText* findLabel = jnew JXStaticText(JGetString("findLabel::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedTop, 320,20, 100,20); assert( findLabel != NULL ); findLabel->SetToLabel(kJTrue); JXSearchTextButton* findBackButton = jnew JXSearchTextButton(kJFalse, window, JXWidget::kFixedRight, JXWidget::kFixedTop, 300,20, 20,20); assert( findBackButton != NULL ); JXSearchTextButton* findFwdButton = jnew JXSearchTextButton(kJTrue, window, JXWidget::kFixedRight, JXWidget::kFixedTop, 420,20, 20,20); assert( findFwdButton != NULL ); JXStaticText* replaceFindLabel = jnew JXStaticText(JGetString("replaceFindLabel::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedTop, 320,80, 100,20); assert( replaceFindLabel != NULL ); replaceFindLabel->SetToLabel(kJTrue); JXSearchTextButton* replaceFindBackButton = jnew JXSearchTextButton(kJFalse, window, JXWidget::kFixedRight, JXWidget::kFixedTop, 300,80, 20,20); assert( replaceFindBackButton != NULL ); JXSearchTextButton* replaceFindFwdButton = jnew JXSearchTextButton(kJTrue, window, JXWidget::kFixedRight, JXWidget::kFixedTop, 420,80, 20,20); assert( replaceFindFwdButton != NULL ); JXStaticText* replaceAllLabel = jnew JXStaticText(JGetString("replaceAllLabel::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedTop, 320,110, 100,20); assert( replaceAllLabel != NULL ); replaceAllLabel->SetToLabel(kJTrue); JXSearchTextButton* replaceAllBackButton = jnew JXSearchTextButton(kJFalse, window, JXWidget::kFixedRight, JXWidget::kFixedTop, 300,110, 20,20); assert( replaceAllBackButton != NULL ); JXSearchTextButton* replaceAllFwdButton = jnew JXSearchTextButton(kJTrue, window, JXWidget::kFixedRight, JXWidget::kFixedTop, 420,110, 20,20); assert( replaceAllFwdButton != NULL ); JXTextButton* replaceAllInSelButton = jnew JXTextButton(JGetString("replaceAllInSelButton::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedTop, 300,140, 140,20); assert( replaceAllInSelButton != NULL ); JXTextCheckbox* stayOpenCB = jnew JXTextCheckbox(JGetString("stayOpenCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 160,240, 150,20); assert( stayOpenCB != NULL ); JXTextCheckbox* retainFocusCB = jnew JXTextCheckbox(JGetString("retainFocusCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 320,240, 110,20); assert( retainFocusCB != NULL ); itsFileListMenu = jnew JXTextMenu(JGetString("itsFileListMenu::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 30,390, 90,30); assert( itsFileListMenu != NULL ); itsSearchDirCB = jnew JXTextCheckbox(JGetString("itsSearchDirCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,270, 130,20); assert( itsSearchDirCB != NULL ); itsSearchDirCB->SetShortcuts(JGetString("itsSearchDirCB::CBSearchTextDialog::shortcuts::JXLayout")); itsDirInput = jnew JXPathInput(window, JXWidget::kHElastic, JXWidget::kFixedTop, 150,270, 190,20); assert( itsDirInput != NULL ); JXStaticText* filterLabel = jnew JXStaticText(JGetString("filterLabel::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 50,300, 100,20); assert( filterLabel != NULL ); filterLabel->SetToLabel(); itsDirHistory = jnew CBSearchPathHistoryMenu(kHistoryLength, "", window, JXWidget::kFixedRight, JXWidget::kFixedTop, 340,270, 30,20); assert( itsDirHistory != NULL ); itsFileFilterInput = jnew JXInputField(window, JXWidget::kHElastic, JXWidget::kFixedTop, 150,300, 190,20); assert( itsFileFilterInput != NULL ); itsFileFilterHistory = jnew CBSearchFilterHistoryMenu(kHistoryLength, "", window, JXWidget::kFixedRight, JXWidget::kFixedTop, 340,300, 30,20); assert( itsFileFilterHistory != NULL ); itsRecurseDirCB = jnew JXTextCheckbox(JGetString("itsRecurseDirCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 40,330, 215,20); assert( itsRecurseDirCB != NULL ); itsChooseDirButton = jnew JXTextButton(JGetString("itsChooseDirButton::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedTop, 380,270, 60,20); assert( itsChooseDirButton != NULL ); itsInvertFileFilterCB = jnew JXTextCheckbox(JGetString("itsInvertFileFilterCB::CBSearchTextDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedTop, 380,300, 60,20); assert( itsInvertFileFilterCB != NULL ); itsPathFilterInput = jnew JXInputField(window, JXWidget::kHElastic, JXWidget::kFixedTop, 255,330, 155,20); assert( itsPathFilterInput != NULL ); itsPathFilterHistory = jnew CBSearchFilterHistoryMenu(kHistoryLength, "", window, JXWidget::kFixedRight, JXWidget::kFixedTop, 410,330, 30,20); assert( itsPathFilterHistory != NULL ); // end JXLayout SetObjects(searchInput, prevSearchMenu, ignoreCaseCB, entireWordCB, wrapSearchCB, searchIsRegexCB, singleLineCB, replaceInput, prevReplaceMenu, replaceIsRegexCB, preserveCaseCB, stayOpenCB, retainFocusCB, findFwdButton, findBackButton, replaceButton, replaceFindFwdButton, replaceFindBackButton, replaceAllFwdButton, replaceAllBackButton, replaceAllInSelButton, closeButton, helpButton, qRefButton); ListenTo(itsSearchDirCB); ListenTo(itsDirInput); ListenTo(itsMultifileCB); itsFileList = jnew JXFileListTable(scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10); assert( itsFileList != NULL ); itsFileList->FitToEnclosure(); itsFileList->ShouldAcceptFileDrop(); itsFileList->BackspaceShouldRemoveSelectedFiles(); ListenTo(itsFileList); itsFileListMenu->SetMenuItems(kFileListMenuStr, "CBSearchTextDialog"); ListenTo(itsFileListMenu); ListenTo(itsChooseDirButton); ListenTo(itsDirHistory); ListenTo(itsFileFilterHistory); ListenTo(itsPathFilterHistory); const JFont& font = window->GetFontManager()->GetDefaultMonospaceFont(); itsDirInput->ShouldAllowInvalidPath(); itsDirHistory->SetDefaultFont(font, kJTrue); itsFileFilterInput->SetDefaultFont(font); itsFileFilterHistory->SetDefaultFont(font, kJTrue); itsPathFilterInput->SetDefaultFont(font); itsPathFilterHistory->SetDefaultFont(font, kJTrue); itsRecurseDirCB->SetState(kJTrue); UpdateBasePath(); ListenTo(CBGetDocumentManager()); CBPrefsManager* prefsMgr = CBGetPrefsManager(); JPrefObject::ReadPrefs(); JString fontName; JSize fontSize; prefsMgr->GetDefaultFont(&fontName, &fontSize); SetFont(fontName, fontSize); searchInput->SetCharacterInWordFunction(CBMIsCharacterInWord); replaceInput->SetCharacterInWordFunction(CBMIsCharacterInWord); // create hidden JXDocument so Meta-# shortcuts work JXDocumentMenu* fileListMenu = jnew JXDocumentMenu("", window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 0,-20, 10,10); assert( fileListMenu != NULL ); // decor const JRect wFrame = window->GetFrame(); const JRect cbFrame = itsSearchDirCB->GetFrame(); JXDownRect* line = jnew JXDownRect(window, JXWidget::kFixedLeft, JXWidget::kFixedTop, cbFrame.left, cbFrame.top-6, wFrame.right-10-cbFrame.left, 2); assert( line != NULL ); line->SetBorderWidth(1); }
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 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 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 GLPolyFitDialog::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 380,450, ""); assert( window != NULL ); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 20,40, 340,100); assert( scrollbarSet != NULL ); itsCB[0] = new JXTextCheckbox("0 (Constant)", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 185,155, 110,20); assert( itsCB[0] != NULL ); itsCB[1] = new JXTextCheckbox("1", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 185,180, 110,20); assert( itsCB[1] != NULL ); itsCB[2] = new JXTextCheckbox("2", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 185,205, 110,20); assert( itsCB[2] != NULL ); itsCB[3] = new JXTextCheckbox("3", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 185,230, 110,20); assert( itsCB[3] != NULL ); itsCB[4] = new JXTextCheckbox("4", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 185,255, 110,20); assert( itsCB[4] != NULL ); itsCB[5] = new JXTextCheckbox("5", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 185,280, 110,20); assert( itsCB[5] != NULL ); itsCB[6] = new JXTextCheckbox("6", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 185,305, 110,20); assert( itsCB[6] != NULL ); itsCB[7] = new JXTextCheckbox("7", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 185,330, 110,20); assert( itsCB[7] != NULL ); itsCB[8] = new JXTextCheckbox("8", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 185,355, 110,20); assert( itsCB[8] != NULL ); itsCB[9] = new JXTextCheckbox("9", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 185,380, 110,20); assert( itsCB[9] != NULL ); JXStaticText* obj1 = new JXStaticText("Powers:", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 90,158, 65,20); assert( obj1 != NULL ); JXTextButton* cancelButton = new JXTextButton("Cancel", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 25,415, 70,20); assert( cancelButton != NULL ); cancelButton->SetShortcuts("^["); itsHelpButton = new JXTextButton("Help", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 155,415, 70,20); assert( itsHelpButton != NULL ); JXTextButton* okButton = new JXTextButton("OK", window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 285,415, 70,20); assert( okButton != NULL ); okButton->SetShortcuts("^M"); itsNameInput = new JXInputField(window, JXWidget::kHElastic, JXWidget::kFixedTop, 90,15, 270,20); assert( itsNameInput != NULL ); JXStaticText* obj2 = new JXStaticText("Fit name:", window, JXWidget::kHElastic, JXWidget::kVElastic, 20,15, 65,20); assert( obj2 != NULL ); // end JXLayout itsFn = new JXExprWidget(itsVarList, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0, 0, 100, 100); assert(itsFn != NULL); itsFn->FitToEnclosure(kJTrue, kJTrue); itsFn->Hide(); ListenTo(itsHelpButton); const JSize count = 10; for (JIndex i = 1; i <= count; i++) { ListenTo(itsCB[i-1]); } window->SetTitle("Polynomial Fit"); UseModalPlacement(kJFalse); window->PlaceAsDialogWindow(); window->LockCurrentMinSize(); SetButtons(okButton, cancelButton); }
void CMEditCommandsDialog::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 350,370, ""); assert( window != NULL ); JXStaticText* obj1_JXLayout = new JXStaticText(JGetString("obj1_JXLayout::CMEditCommandsDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,10, 150,20); assert( obj1_JXLayout != NULL ); obj1_JXLayout->SetToLabel(); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 10,50, 230,280); assert( scrollbarSet != NULL ); JXTextButton* cancelButton = new JXTextButton(JGetString("cancelButton::CMEditCommandsDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kVElastic, 80,340, 60,20); assert( cancelButton != NULL ); JXTextButton* okButton = new JXTextButton(JGetString("okButton::CMEditCommandsDialog::JXLayout"), window, JXWidget::kHElastic, JXWidget::kVElastic, 210,340, 60,20); assert( okButton != NULL ); okButton->SetShortcuts(JGetString("okButton::CMEditCommandsDialog::shortcuts::JXLayout")); itsNewButton = new JXTextButton(JGetString("itsNewButton::CMEditCommandsDialog::JXLayout"), window, JXWidget::kHElastic, JXWidget::kFixedTop, 260,70, 70,20); assert( itsNewButton != NULL ); itsNewButton->SetShortcuts(JGetString("itsNewButton::CMEditCommandsDialog::shortcuts::JXLayout")); itsRemoveButton = new JXTextButton(JGetString("itsRemoveButton::CMEditCommandsDialog::JXLayout"), window, JXWidget::kHElastic, JXWidget::kFixedTop, 260,110, 70,20); assert( itsRemoveButton != NULL ); JXStaticText* obj2_JXLayout = new JXStaticText(JGetString("obj2_JXLayout::CMEditCommandsDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,30, 270,20); assert( obj2_JXLayout != NULL ); obj2_JXLayout->SetFontSize(8); obj2_JXLayout->SetToLabel(); // end JXLayout window->SetTitle("Edit custom gdb commands"); window->PlaceAsDialogWindow(); window->LockCurrentMinSize(); UseModalPlacement(kJFalse); SetButtons(okButton, cancelButton); ListenTo(itsNewButton); ListenTo(itsRemoveButton); itsWidget = new CMEditCommandsTable(this, itsRemoveButton, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10); assert(itsWidget != NULL); itsWidget->SyncWithData(); itsWidget->FitToEnclosure(kJTrue, kJTrue); // requires sync }
void JXTipOfTheDayDialog::BuildWindow ( const JBoolean showStartupCB, const JBoolean showAtStartup ) { // begin JXLayout JXWindow* window = new JXWindow(this, 410,260, ""); assert( window != NULL ); JXFlatRect* sideBar = new JXFlatRect(window, JXWidget::kFixedLeft, JXWidget::kVElastic, 10,10, 50,200); assert( sideBar != NULL ); sideBar->SetColor((GetColormap())->GetInactiveLabelColor()); itsCloseButton = new JXTextButton(JGetString("itsCloseButton::JXTipOfTheDayDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 340,225, 60,20); assert( itsCloseButton != NULL ); itsNextTipButton = new JXTextButton(JGetString("itsNextTipButton::JXTipOfTheDayDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 260,225, 60,20); assert( itsNextTipButton != NULL ); itsNextTipButton->SetShortcuts(JGetString("itsNextTipButton::JXTipOfTheDayDialog::shortcuts::JXLayout")); JXImageWidget* icon = new JXImageWidget(sideBar, JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,15, 30,30); assert( icon != NULL ); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 60,60, 340,150); assert( scrollbarSet != NULL ); JXStaticText* title = new JXStaticText(JGetString("title::JXTipOfTheDayDialog::JXLayout"), window, JXWidget::kHElastic, JXWidget::kFixedTop, 60,10, 340,50); assert( title != NULL ); itsShowAtStartupCB = new JXTextCheckbox(JGetString("itsShowAtStartupCB::JXTipOfTheDayDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedBottom, 10,225, 140,20); assert( itsShowAtStartupCB != NULL ); // end JXLayout window->SetTitle("Tip of the Day"); window->LockCurrentMinSize(); window->PlaceAsDialogWindow(); JXDisplay* display = GetDisplay(); JXImage* wIcon = new JXImage(display, jx_tip_of_the_day); assert( wIcon != NULL ); window->SetIcon(wIcon); sideBar->SetColor((GetColormap())->GetGrayColor(50)); icon->SetXPM(jx_tip_of_the_day, (GetColormap())->GetGrayColor(50)); title->SetBorderWidth(kJXDefaultBorderWidth); title->TESetLeftMarginWidth(5); title->SetBackColor(title->GetFocusColor()); title->JTextEditor::SetFont(1, title->GetTextLength(), "Times", 18, JFontStyle(kJTrue, kJFalse, 0, kJFalse), kJTrue); title->SetCaretLocation(1); title->Paste("\n"); itsText = new JXStaticText("", kJTrue, kJFalse, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert( itsText != NULL ); itsText->FitToEnclosure(); itsText->TESetLeftMarginWidth(5); itsShowAtStartupCB->SetVisible(showStartupCB); itsShowAtStartupCB->SetState(showAtStartup); ListenTo(itsNextTipButton); ListenTo(itsCloseButton); }
void CMArray1DDir::BuildWindow() { // begin JXLayout JXWindow* window = jnew JXWindow(this, 300,500, ""); assert( window != NULL ); itsExprInput = jnew CMArrayExprInput(window, JXWidget::kHElastic, JXWidget::kFixedTop, 110,40, 170,20); assert( itsExprInput != NULL ); JXStaticText* startLabel = jnew JXStaticText(JGetString("startLabel::CMArray1DDir::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,70, 90,20); assert( startLabel != NULL ); startLabel->SetToLabel(); JXStaticText* endLabel = jnew JXStaticText(JGetString("endLabel::CMArray1DDir::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,100, 90,20); assert( endLabel != NULL ); endLabel->SetToLabel(); itsStopButton = jnew JXTextButton(JGetString("itsStopButton::CMArray1DDir::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 200,85, 60,20); assert( itsStopButton != NULL ); itsStopButton->SetShortcuts(JGetString("itsStopButton::CMArray1DDir::shortcuts::JXLayout")); JXMenuBar* menuBar = jnew JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 300,30); assert( menuBar != NULL ); JXScrollbarSet* scrollbarSet = jnew JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 0,130, 300,370); assert( scrollbarSet != NULL ); itsStartIndex = jnew CMArrayIndexInput(window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 110,70, 60,20); assert( itsStartIndex != NULL ); itsEndIndex = jnew CMArrayIndexInput(window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 110,100, 60,20); assert( itsEndIndex != NULL ); JXStaticText* exprLabel = jnew JXStaticText(JGetString("exprLabel::CMArray1DDir::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,40, 90,20); assert( exprLabel != NULL ); exprLabel->SetToLabel(); // end JXLayout window->SetMinSize(300, 200); window->ShouldFocusWhenShow(kJTrue); window->SetWMClass(CMGetWMClassInstance(), CMGetArray1DWindowClass()); UpdateWindowTitle(); JXDisplay* display = GetDisplay(); JXImage* icon = jnew JXImage(display, medic_1d_array_window); assert( icon != NULL ); window->SetIcon(icon); CMGetPrefsManager()->GetWindowSize(kArray1DWindSizeID, window, kJTrue); CMVarNode* root = itsLink->CreateVarNode(); assert( root != NULL ); itsTree = jnew JTree(root); assert( itsTree != NULL ); JNamedTreeList* treeList = jnew JNamedTreeList(itsTree); assert( treeList != NULL ); itsWidget = jnew CMVarTreeWidget(itsCommandDir, kJFalse, menuBar, itsTree, treeList, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 100,100); assert(itsWidget != NULL); itsWidget->FitToEnclosure(); itsExprInput->SetText(itsExpr); itsExprInput->SetIsRequired(); ListenTo(itsExprInput); itsStartIndex->SetValue(itsRequestRange.first); ListenTo(itsStartIndex); itsEndIndex->SetValue(itsRequestRange.last); ListenTo(itsEndIndex); itsStopButton->Hide(); ListenTo(itsStopButton); // menus itsFileMenu = menuBar->PrependTextMenu(kFileMenuTitleStr); itsFileMenu->SetMenuItems(kFileMenuStr, "CMThreadsDir"); itsFileMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsFileMenu); itsFileMenu->SetItemImage(kOpenCmd, jx_file_open); JXTEBase* te = itsWidget->GetEditMenuHandler(); itsExprInput->ShareEditMenu(te); itsStartIndex->ShareEditMenu(te); itsEndIndex->ShareEditMenu(te); itsActionMenu = menuBar->AppendTextMenu(kActionMenuTitleStr); menuBar->InsertMenu(3, itsActionMenu); itsActionMenu->SetMenuItems(kActionMenuStr, "CMArray1DDir"); ListenTo(itsActionMenu); itsActionMenu->SetItemImage(kDisplay1DArrayCmd, medic_show_1d_array); itsActionMenu->SetItemImage(kPlot1DArrayCmd, medic_show_2d_plot); itsActionMenu->SetItemImage(kDisplay2DArrayCmd, medic_show_2d_array); itsActionMenu->SetItemImage(kExamineMemCmd, medic_show_memory); JXWDMenu* wdMenu = jnew JXWDMenu(kWindowsMenuTitleStr, menuBar, JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10); assert( wdMenu != NULL ); menuBar->AppendMenu(wdMenu); itsHelpMenu = menuBar->AppendTextMenu(kHelpMenuTitleStr); itsHelpMenu->SetMenuItems(kHelpMenuStr, "CMArray1DDir"); itsHelpMenu->SetUpdateAction(JXMenu::kDisableNone); ListenTo(itsHelpMenu); itsHelpMenu->SetItemImage(kTOCCmd, jx_help_toc); itsHelpMenu->SetItemImage(kThisWindowCmd, jx_help_specific); (GetDisplay()->GetWDManager())->DirectorCreated(this); }
void 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 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(); }
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 JX2DCurveOptionsDialog::BuildWindow() { // begin JXLayout JXWindow* window = new JXWindow(this, 370,260, ""); assert( window != NULL ); JXScrollbarSet* scrollbarSet = new JXScrollbarSet(window, JXWidget::kHElastic, JXWidget::kVElastic, 10,10, 140,240); assert( scrollbarSet != NULL ); itsCurveStyleRG = new JXRadioGroup(window, JXWidget::kFixedRight, JXWidget::kFixedTop, 170,50, 184,104); assert( itsCurveStyleRG != NULL ); itsShowCurveCB = new JXTextCheckbox(JGetString("itsShowCurveCB::JX2DCurveOptionsDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 180,20, 100,20); assert( itsShowCurveCB != NULL ); itsShowCurveCB->SetShortcuts(JGetString("itsShowCurveCB::JX2DCurveOptionsDialog::shortcuts::JXLayout")); itsShowLinesRB = new JXTextRadioButton(kShowLines, JGetString("itsShowLinesRB::JX2DCurveOptionsDialog::JXLayout"), itsCurveStyleRG, JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,50, 170,20); assert( itsShowLinesRB != NULL ); itsShowLinesRB->SetShortcuts(JGetString("itsShowLinesRB::JX2DCurveOptionsDialog::shortcuts::JXLayout")); itsShowBothRB = new JXTextRadioButton(kShowBoth, JGetString("itsShowBothRB::JX2DCurveOptionsDialog::JXLayout"), itsCurveStyleRG, JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,70, 170,20); assert( itsShowBothRB != NULL ); itsShowBothRB->SetShortcuts(JGetString("itsShowBothRB::JX2DCurveOptionsDialog::shortcuts::JXLayout")); itsShowSymbolsRB = new JXTextRadioButton(kShowSymbols, JGetString("itsShowSymbolsRB::JX2DCurveOptionsDialog::JXLayout"), itsCurveStyleRG, JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,30, 170,20); assert( itsShowSymbolsRB != NULL ); itsShowSymbolsRB->SetShortcuts(JGetString("itsShowSymbolsRB::JX2DCurveOptionsDialog::shortcuts::JXLayout")); itsShowPointsRB = new JXTextRadioButton(kShowPoints, JGetString("itsShowPointsRB::JX2DCurveOptionsDialog::JXLayout"), itsCurveStyleRG, JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,10, 170,20); assert( itsShowPointsRB != NULL ); itsShowPointsRB->SetShortcuts(JGetString("itsShowPointsRB::JX2DCurveOptionsDialog::shortcuts::JXLayout")); JXTextButton* okButton = new JXTextButton(JGetString("okButton::JX2DCurveOptionsDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 280,230, 70,20); assert( okButton != NULL ); okButton->SetShortcuts(JGetString("okButton::JX2DCurveOptionsDialog::shortcuts::JXLayout")); itsCancelButton = new JXTextButton(JGetString("itsCancelButton::JX2DCurveOptionsDialog::JXLayout"), window, JXWidget::kFixedRight, JXWidget::kFixedBottom, 170,230, 70,20); assert( itsCancelButton != NULL ); itsCancelButton->SetShortcuts(JGetString("itsCancelButton::JX2DCurveOptionsDialog::shortcuts::JXLayout")); itsShowXErrorsCB = new JXTextCheckbox(JGetString("itsShowXErrorsCB::JX2DCurveOptionsDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 180,170, 110,20); assert( itsShowXErrorsCB != NULL ); itsShowXErrorsCB->SetShortcuts(JGetString("itsShowXErrorsCB::JX2DCurveOptionsDialog::shortcuts::JXLayout")); itsShowYErrorsCB = new JXTextCheckbox(JGetString("itsShowYErrorsCB::JX2DCurveOptionsDialog::JXLayout"), window, JXWidget::kFixedLeft, JXWidget::kFixedTop, 180,190, 110,20); assert( itsShowYErrorsCB != NULL ); itsShowYErrorsCB->SetShortcuts(JGetString("itsShowYErrorsCB::JX2DCurveOptionsDialog::shortcuts::JXLayout")); // end JXLayout window->SetTitle("Curve Options"); SetButtons(okButton, NULL); UseModalPlacement(kJFalse); window->PlaceAsDialogWindow(); window->LockCurrentMinSize(); ListenTo(itsCancelButton); itsNameList = new JX2DCurveNameList(*itsCurveInfo, itsCurrentIndex, scrollbarSet, scrollbarSet->GetScrollEnclosure(), JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10); assert( itsNameList != NULL ); itsNameList->FitToEnclosure(); ListenTo(itsNameList); AdjustWidgets(); }
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 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); }