void TabsTest(void) { Ihandle *box, *frm1, *frm2, *dlg, *tabs; tabs = CreateTabs(1); box = IupHbox(tabs, frm1 = IupFrame(IupRadio(IupVbox(IupToggle("TOP", "cbType"), IupToggle("LEFT", "cbType"), IupToggle("BOTTOM", "cbType"), IupToggle("RIGHT", "cbType"), NULL))), frm2 = IupFrame(IupRadio(IupVbox(IupToggle("HORIZONTAL", "cbOrientation"), IupToggle("VERTICAL", "cbOrientation"), NULL))), IupVbox(IupSetAttributes(IupButton("Add Tab", "cbAddTab"), "TIP=\"Button Tip\""), IupButton("Insert Tab", "cbInsertTab"), IupButton("Remove Tab", "cbRemoveTab"), IupToggle("Inactive", "cbInactive"), IupButton("VALUEPOS=0", "cbValuePos"), NULL), NULL); IupSetAttribute(frm1, "MARGIN", "5x5"); IupSetAttribute(frm2, "MARGIN", "5x5"); IupSetAttribute(frm1, "GAP", "0"); IupSetAttribute(frm2, "GAP", "0"); IupSetAttribute(frm1, "TITLE", "Type"); IupSetAttribute(frm2, "TITLE", "Orientation"); IupSetAttribute(box, "MARGIN", "10x10"); IupSetAttribute(box, "GAP", "10"); dlg = IupDialog(box); IupSetAttribute(dlg, "TITLE", "IupTabs Test"); IupSetAttribute(dlg, "APP_TABS", (char*)tabs); // IupSetAttribute(box, "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BACKGROUND", "200 10 80"); // IupSetAttributeHandle(dlg, "BACKGROUND", load_image_LogoTecgraf()); // IupSetAttribute(dlg, "FGCOLOR", "10 200 80"); // IupSetAttribute(dlg, "BGCOLOR", "173 177 194"); // Motif BGCOLOR for documentation // IupSetAttribute(dlg,"COMPOSITED","NO"); IupMap(dlg); IupSetAttribute(dlg, "SIZE", NULL); IupShowXY(dlg, IUP_CENTER, IUP_CENTER); IupSetFunction("cbOrientation", (Icallback)cbOrientation); IupSetFunction("cbType", (Icallback)cbType); IupSetFunction("cbAddTab", (Icallback)cbAddTab); IupSetFunction("cbInsertTab", (Icallback)cbInsertTab); IupSetFunction("cbRemoveTab", (Icallback)cbRemoveTab); IupSetFunction("cbInactive", (Icallback)cbInactive); IupSetFunction("cbChildButton", (Icallback)cbChildButton); IupSetFunction("cbValuePos", (Icallback)cbValuePos); }
NamedScript void CreateGUIMenu() { // Do first-time creation here CreateTabs(); CreatePanels(); Player.GUI.Created = true; }
P3DBranchPanel::P3DBranchPanel (wxWindow *parent, P3DBranchModel *BranchModel) : wxNotebook(parent,P3D_BRANCH_PANEL_ID) { this->BranchModel = BranchModel; #if wxCHECK_VERSION(2,8,0) #else wxNotebookSizer *TopSizer = new wxNotebookSizer(this); #endif CreateTabs(); }
void P3DBranchPanel::SwitchToBranch (P3DBranchModel *BranchModel) { int OldPageIndex; size_t OldPageCount; OldPageCount = GetPageCount(); OldPageIndex = GetSelection(); DeleteAllPages(); this->BranchModel = BranchModel; CreateTabs(); if (OldPageIndex != wxNOT_FOUND) { if (OldPageCount == 1) /* for base */ { if (GetPageCount() == 1) { SetSelection(OldPageIndex); } else { SetSelection(0); } } else { if (GetPageCount() == 1) { SetSelection(0); } else { SetSelection(OldPageIndex); } } } #if defined(__WXMSW__) { Refresh(); } #endif }
int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow) { MSG messages; /* Here messages to the application are saved */ WNDCLASSEX wincl; /* Data structure for the windowclass */ /* The Window structure */ wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */ wincl.style = CS_DBLCLKS; /* Catch double-clicks */ wincl.cbSize = sizeof (WNDCLASSEX); /* Use default icon and mouse-pointer */ wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION); wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION); wincl.hCursor = LoadCursor (NULL, IDC_ARROW); wincl.lpszMenuName = MAKEINTRESOURCE(IDR_MYMENU); /* menu */ wincl.cbClsExtra = 0; /* No extra bytes after the window class */ wincl.cbWndExtra = 0; /* structure or the window instance */ /* Use Windows's default colour as the background of the window */ wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND; /* Register the window class, and if it fails quit the program */ if (!RegisterClassEx (&wincl)) return 0; InitCommonControls(); /* The class is registered, let's create the program*/ hwnd = CreateWindowEx ( 0, /* Extended possibilites for variation */ szClassName, /* Classname */ "jsObfsc v1 - a simple javascript code minifier+obfuscator", /* Title Text */ WS_OVERLAPPEDWINDOW, /* default window */ CW_USEDEFAULT, /* Windows decides the position */ CW_USEDEFAULT, /* where the window ends up on the screen */ WINW, /* The programs width */ WINH, /* and height in pixels */ HWND_DESKTOP, /* The window is a child-window to desktop */ NULL, /* No menu */ hThisInstance, /* Program Instance handler */ NULL /* No Window Creation data */ ); /* Make the window visible on the screen */ ShowWindow (hwnd, nCmdShow); // Create the main menu CreateMainMenu(); hinst = hThisInstance; DrawText(GetDC(hwnd), " ", 1, &hwrect, DT_CALCRECT); // obtain text size FontSize = hwrect.bottom-hwrect.top; // 16 GetClientRect(hwnd, &hwrect); CreateTabs(); CreaTexts(); // Set a timer. SetTimer(hwnd, // handle to main window IDT_TIMER1, // timer identifier 200, // 1/5 second interval (TIMERPROC) NULL); // no timer callback ClearDispNo(); /* Run the message loop. It will run until GetMessage() returns 0 */ while (GetMessage (&messages, NULL, 0, 0)) { /* Translate virtual-key messages into character messages */ TranslateMessage(&messages); /* Send message to WindowProcedure */ DispatchMessage(&messages); } /* The program return-value is 0 - The value that PostQuitMessage() gave */ return messages.wParam; }
bool UpdateConEmuTabsW995(int anEvent, bool losingFocus, bool editorSave, void* Param/*=NULL*/) { if (!InfoW995 || !InfoW995->AdvControl || gbIgnoreUpdateTabs) return false; BOOL lbCh = FALSE, lbDummy = FALSE; WindowInfo WInfo = {0}; wchar_t szWNameBuffer[CONEMUTABMAX]; //WInfo.Name = szWNameBuffer; //WInfo.NameSize = CONEMUTABMAX; int windowCount = (int)InfoW995->AdvControl(InfoW995->ModuleNumber, ACTL_GETWINDOWCOUNT, NULL); if ((windowCount == 0) && !gpFarInfo->bFarPanelAllowed) { windowCount = 1; lbDummy = TRUE; } lbCh = (lastWindowCount != windowCount); if (!CreateTabs(windowCount)) return false; int tabCount = 0; if (lbDummy) { AddTab(tabCount, false, false, WTYPE_PANELS, NULL, NULL, 1, 0, 0, 0); return (lbCh != FALSE); } //EditorInfo ei = {0}; //if (editorSave) //{ // InfoW995->EditorControl(ECTL_GETINFO, &ei); //} ViewerInfo vi = {sizeof(ViewerInfo)}; if (anEvent == 206) { if (Param) vi.ViewerID = *(int*)Param; InfoW995->ViewerControl(VCTL_GETINFO, &vi); } BOOL lbActiveFound = FALSE; for(int i = 0; i < windowCount; i++) { WInfo.Pos = i; _ASSERTE(GetCurrentThreadId() == gnMainThreadId); InfoW995->AdvControl(InfoW995->ModuleNumber, ACTL_GETSHORTWINDOWINFO, (void*)&WInfo); if (WInfo.Type == WTYPE_EDITOR || WInfo.Type == WTYPE_VIEWER || WInfo.Type == WTYPE_PANELS) { WInfo.Pos = i; WInfo.Name = szWNameBuffer; WInfo.NameSize = CONEMUTABMAX; InfoW995->AdvControl(InfoW995->ModuleNumber, ACTL_GETWINDOWINFO, (void*)&WInfo); WARNING("Для получения имени нужно пользовать ECTL_GETFILENAME"); if (WInfo.Type == WTYPE_EDITOR || WInfo.Type == WTYPE_VIEWER || WInfo.Type == WTYPE_PANELS) { if (WInfo.Current) lbActiveFound = TRUE; TODO("Определение ИД редактора/вьювера"); lbCh |= AddTab(tabCount, losingFocus, editorSave, WInfo.Type, WInfo.Name, /*editorSave ? ei.FileName :*/ NULL, WInfo.Current, WInfo.Modified, 0, 0); //if (WInfo.Type == WTYPE_EDITOR && WInfo.Current) //2009-08-17 // lastModifiedStateW = WInfo.Modified; } //InfoW995->AdvControl(InfoW995->ModuleNumber, ACTL_FREEWINDOWINFO, (void*)&WInfo); } } // Viewer в FAR 2 build 9xx не попадает в список окон при событии VE_GOTFOCUS if (!losingFocus && !editorSave && tabCount == 0 && anEvent == 206) { lbActiveFound = TRUE; lbCh |= AddTab(tabCount, losingFocus, editorSave, WTYPE_VIEWER, vi.FileName, NULL, 1, 0, 0, vi.ViewerID); } // Скорее всего это модальный редактор (или вьювер?) if (!lbActiveFound && !losingFocus) { WInfo.Pos = -1; _ASSERTE(GetCurrentThreadId() == gnMainThreadId); if (InfoW995->AdvControl(InfoW995->ModuleNumber, ACTL_GETSHORTWINDOWINFO, (void*)&WInfo)) { if (WInfo.Type == WTYPE_EDITOR || WInfo.Type == WTYPE_VIEWER) { WInfo.Pos = -1; WInfo.Name = szWNameBuffer; WInfo.NameSize = CONEMUTABMAX; InfoW995->AdvControl(InfoW995->ModuleNumber, ACTL_GETWINDOWINFO, (void*)&WInfo); if (WInfo.Type == WTYPE_EDITOR || WInfo.Type == WTYPE_VIEWER) { tabCount = 0; TODO("Определение ИД Редактора/вьювера"); lbCh |= AddTab(tabCount, losingFocus, editorSave, WInfo.Type, WInfo.Name, /*editorSave ? ei.FileName :*/ NULL, WInfo.Current, WInfo.Modified, 1/*Modal*/, 0); } } else if (WInfo.Type == WTYPE_PANELS) { gpTabs->Tabs.CurrentType = WInfo.Type; } } //wchar_t* pszEditorFileName = NULL; //EditorInfo ei = {0}; //ViewerInfo vi = {sizeof(ViewerInfo)}; //BOOL bEditor = FALSE, bViewer = FALSE; //bViewer = InfoW995->ViewerControl(VCTL_GETINFO, &vi); //if (InfoW995->EditorControl(ECTL_GETINFO, &ei)) { // int nLen = InfoW995->EditorControl(ECTL_GETFILENAME, NULL); // if (nLen > 0) { // wchar_t* pszEditorFileName = (wchar_t*)calloc(nLen+1,2); // if (pszEditorFileName) { // if (InfoW995->EditorControl(ECTL_GETFILENAME, pszEditorFileName)) { // bEditor = true; // } // } // } //} //if (bEditor && bViewer) { // // Попробуем получить информацию об активном окне, но это может привести к блокировке некоторых диалогов ФАР2? // WInfo.Pos = -1; // InfoW995->AdvControl(InfoW995->ModuleNumber, ACTL_GETWINDOWINFO, (void*)&WInfo); //} //if (bEditor) { // tabCount = 0; // lbCh |= AddTab(tabCount, losingFocus, editorSave, // WTYPE_EDITOR, pszEditorFileName, NULL, // 1, (ei.CurState & (ECSTATE_MODIFIED|ECSTATE_SAVED)) == ECSTATE_MODIFIED); //} else if (bViewer) { // tabCount = 0; // lbCh |= AddTab(tabCount, losingFocus, editorSave, // WTYPE_VIEWER, vi.FileName, NULL, // 1, 0); //} //if (pszEditorFileName) free(pszEditorFileName); } // 101224 - сразу запомнить количество! gpTabs->Tabs.nTabCount = tabCount; //// 2009-08-17 //if (gbHandleOneRedraw && gbHandleOneRedrawCh && lbCh) { // gbHandleOneRedraw = false; // gbHandleOneRedrawCh = false; //} #ifdef _DEBUG //WCHAR szDbg[128]; StringCchPrintf(szDbg, countof(szDbg), L"Event: %i, count %i\n", anEvent, tabCount); //OutputDebugStringW(szDbg); #endif //SendTabs(tabCount, lbCh && (gnReqCommand==(DWORD)-1)); return (lbCh != FALSE); }
//______________________________________________________________________________ Bool_t ArgusWindow::Start() { // Start Argus Window fWatchAll.Start(false); ROMEPrint::Debug("ArgusWindow::Start()\n"); // Create status bar Int_t parts[2] = {70, 30}; fStatusBar = new TGStatusBar(this, 50, 10, kHorizontalFrame); fStatusBar->SetParts(parts, sizeof(parts) / sizeof(Int_t)); fProgress = new TGHProgressBar(fStatusBar->GetBarPart(1), TGProgressBar::kStandard, 20); fProgress->SetPosition(0); fStatusBar->GetBarPart(1)->AddFrame(fProgress, new TGLayoutHints(kLHintsExpandX|kLHintsExpandY, 10, 10)); if (fStatusBarSwitch) { this->AddFrame(fStatusBar, new TGLayoutHints(kLHintsBottom | kLHintsLeft | kLHintsExpandX, 0, 0, 2, 0)); } // Create horizontal frame which holds menu bar TGHorizontalFrame *hMenuFrame = new TGHorizontalFrame(this, 0, 0); AddFrame(hMenuFrame, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0)); { // Create menubar fMenuBar = new TGMenuBar(hMenuFrame, 1, 1, kHorizontalFrame); hMenuFrame->AddFrame(fMenuBar, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 0, 0, 0, 0)); { // Create popup menu fMenuFile = new TGPopupMenu(fClient->GetRoot()); fMenuFile->Associate(this); fMenuBar->AddPopup("&File", fMenuFile, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0)); if (fTabWindow) { fMenuFile->AddEntry("New Window", M_FILE_NEW_WINDOW); if (gROME->GetNumberOfNetFolders()>0) { TGPopupMenu *fMenuNetFolder = new TGPopupMenu(fClient->GetRoot()); if (AddMenuNetFolder(fMenuNetFolder)) { fMenuFile->AddPopup("&Connect NetFolder", fMenuNetFolder); fMenuNetFolder->Associate(this); } } // fMenuFile->AddEntry("Start C&ontroller", M_FILE_CONTROLLER); fMenuFile->AddEntry("E&xit", M_FILE_EXIT); } else { fMenuFile->AddEntry("C&lose", M_FILE_EXIT); } } } { // separator TGHorizontal3DLine *hline = new TGHorizontal3DLine(this); AddFrame(hline, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX)); } // Horizontal frame which holds the main canvas TGHorizontalFrame *hFrame = new TGHorizontalFrame(this); AddFrame(hFrame, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX | kLHintsExpandY)); // Vertical frame which holds the info frame and listtree TGVerticalFrame *vFrame = new TGVerticalFrame(hFrame); hFrame->AddFrame(vFrame, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandY, 0, 1)); { // now analyzer controller is dockable if (fTabWindow && !gROME->IsStandAloneARGUS()) { fController = new ArgusAnalyzerController(vFrame, -1, fControllerNetFolder); fController->Associate(this); vFrame->AddFrame(fController, new TGLayoutHints (kLHintsTop | kLHintsLeft)); } if (!gROME->IsStandAloneARGUS()) { // run# TGHorizontalFrame *runFrame = new TGHorizontalFrame(vFrame); vFrame->AddFrame(runFrame, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 15, 10, 2, 2)); TGLabel *fRunLabel = new TGLabel(runFrame, "Run : "); fRunLabel->SetTextJustify(kTextLeft | kTextCenterY); runFrame->AddFrame(fRunLabel, new TGLayoutHints(kLHintsLeft, 0, 0, 0, 0)); fRunNumber = new TGLabel(runFrame, "0"); fRunNumber->SetTextJustify(kTextRight | kTextCenterY); runFrame->AddFrame(fRunNumber, new TGLayoutHints(kLHintsRight, 5, 0, 0, 0)); // evnet# TGHorizontalFrame *eventFrame = new TGHorizontalFrame(vFrame); vFrame->AddFrame(eventFrame, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 15, 10, 2, 2)); TGLabel *fEventLabel = new TGLabel(eventFrame, "Event : "); fEventLabel->SetTextJustify(kTextLeft | kTextCenterY); eventFrame->AddFrame(fEventLabel, new TGLayoutHints(kLHintsLeft, 0, 0, 0, 0)); fEventNumber = new TGLabel(eventFrame, "0"); fEventNumber->SetTextJustify(kTextLeft | kTextCenterY); eventFrame->AddFrame(fEventNumber, new TGLayoutHints(kLHintsRight, 5, 0, 0, 0)); // Year/Mon/Day TGHorizontalFrame *YearMonDayFrame = new TGHorizontalFrame(vFrame); vFrame->AddFrame(YearMonDayFrame, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 15, 10, 2, 2)); TGLabel *fYearMonDayLabel = new TGLabel(YearMonDayFrame, "Date : "); fYearMonDayLabel->SetTextJustify(kTextLeft | kTextCenterY); YearMonDayFrame->AddFrame(fYearMonDayLabel, new TGLayoutHints(kLHintsLeft, 0, 0, 0, 0)); fYearMonDay = new TGLabel(YearMonDayFrame, "1970-Jan-01"); fYearMonDay->SetTextJustify(kTextLeft | kTextCenterY); YearMonDayFrame->AddFrame(fYearMonDay, new TGLayoutHints(kLHintsRight, 5, 0, 0, 0)); // Hour/Min/Sec TGHorizontalFrame *HourMinSecFrame = new TGHorizontalFrame(vFrame); vFrame->AddFrame(HourMinSecFrame, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 15, 10, 2, 2)); TGLabel *fHourMinSecLabel = new TGLabel(HourMinSecFrame, "Time : "); fHourMinSecLabel->SetTextJustify(kTextLeft | kTextCenterY); HourMinSecFrame->AddFrame(fHourMinSecLabel, new TGLayoutHints(kLHintsLeft, 0, 0, 0, 0)); fHourMinSec = new TGLabel(HourMinSecFrame, "00:00:00"); fHourMinSec->SetTextJustify(kTextLeft | kTextCenterY); HourMinSecFrame->AddFrame(fHourMinSec, new TGLayoutHints(kLHintsRight, 5, 0, 0, 0)); } // Vertical frame which holds users info frame fUserInfoFrame = new TGVerticalFrame(vFrame); vFrame->AddFrame(fUserInfoFrame, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 0, 0)); // fControllerDock = new TGDockableFrame(vFrame, 0, kVerticalFrame); // vFrame->AddFrame(fControllerDock, new TGLayoutHints(kLHintsTop | kLHintsLeft)); // fControllerDock->EnableUndock(kTRUE); // fControllerDock->EnableHide(kTRUE); // fControllerDock->Associate(this); if (fListTreeView && fTabWindow) { // Create ListTree TGCanvas *canvas = new TGCanvas(vFrame, 120, 400); vFrame->AddFrame(canvas, new TGLayoutHints(kLHintsLeft | kLHintsExpandX | kLHintsExpandY)); fListTree = new TGListTree(canvas, kHorizontalFrame); fListTree->Connect("Clicked(TGListTreeItem*,Int_t)", "ArgusWindow", this, "OnClick(TGListTreeItem*,Int_t)"); fListTree->Connect("DoubleClicked(TGListTreeItem*,Int_t)", "ArgusWindow", this, "OnDoubleClick(TGListTreeItem*,Int_t)"); fListTree->Associate(this); } // Create the main frame const UInt_t width = static_cast<UInt_t>(640 * GetWindowScale()); const UInt_t height = static_cast<UInt_t>(480 * GetWindowScale()); if (!fListTreeView && fTabWindow) { fTab = new TGTab(hFrame, width, height); fTab->Associate(this); hFrame->AddFrame(fTab, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0)); } else { fMainFrame = new ROMECompositeFrame(hFrame, width, height); hFrame->AddFrame(fMainFrame, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX | kLHintsExpandY)); } } ROMEPrint::Debug("Creating Tabs\n"); CheckActiveFlags(); if (!CreateTabs()) { fWatchAll.Stop(); return kFALSE; } ROMEPrint::Debug("Tabs Created\n"); MapSubwindows(); TGDimension size = GetDefaultSize(); ArgusTab *tab; Int_t lastTabIndex = -1; Int_t iTab; const Int_t nTabs = fTabObjects->GetEntriesFast(); if (fListTreeView) { ArgusTab *lastTab = 0; TGDimension framesize(0,0); // first, hide all the tabs for (iTab = 0; iTab < nTabs; iTab++) { tab = GetTabObjectAt(iTab); fMainFrame->HideFrame(tab); } // show all the tabs one by one to get the maximum window size size = GetDefaultSize(); for (iTab = nTabs-1; iTab >=0; iTab--) { tab = GetTabObjectAt(iTab); if (tab->IsSwitch() && fNumberOfChildren[iTab]<=0) { fMainFrame->HideFrame(lastTab); fMainFrame->ShowFrame(tab); framesize = GetDefaultSize(); if (size.fWidth < framesize.fWidth) { size.fWidth = framesize.fWidth; } if (size.fHeight < framesize.fHeight) { size.fHeight = framesize.fHeight; } if (fTabWindow) { // we don't have listtrees for sub-windows fListTree->HighlightItem(fListTreeItem[iTab]); } lastTab = tab; lastTabIndex = iTab; } } } else { for (iTab = nTabs-1; iTab >=0; iTab--) { tab = GetTabObjectAt(iTab); if (tab->IsSwitch() && fNumberOfChildren[iTab]<=0) { fCurrentTabID = tab->GetID(); lastTabIndex = iTab; } } } Resize(size); fInitialWidth = size.fWidth; fInitialHeight = size.fHeight; // Adjust size of the sub window so that the main frame has the // same size as the parent's. This is not done if the parent window // is tab-view, because the size of the main frame is not trivial. if (!fTabWindow) { if (gROME->GetWindow()->IsListTreeView()) { TGDimension size1 = gROME->GetWindow()->GetInitialSize(); TGDimension size3 = gROME->GetWindow()->GetUserInfoFrame()->GetSize(); TGDimension size4 = GetUserInfoFrame()->GetSize(); // Height shall be the same as the parent, but width might be // different because of different width of info frame. Resize(size1.fWidth - size3.fWidth + size4.fWidth, size1.fHeight); } } gSystem->Sleep(500); MapWindow(); while (!IsMapped()) { gSystem->Sleep(20); } if (!gROME->IsStandAloneARGUS()) { // hide run# and event# if argus controller is shown/docked if (fController && (!fController->IsHidden() || !fController->IsUndocked())) { ((TGCompositeFrame*)(fRunNumber->GetParent()->GetParent()))->HideFrame((TGFrame*)(fRunNumber->GetParent())); ((TGCompositeFrame*)(fEventNumber->GetParent()->GetParent()))->HideFrame((TGFrame*)(fEventNumber->GetParent())); } } TriggerTabSelected(lastTabIndex); gSystem->Sleep(500); ROMEPrint::Debug("End of ArgusWindow::Start()\n"); fWatchAll.Stop(); return kTRUE; }
DialUpView::DialUpView(BRect frame) : BView(frame, "DialUpView", B_FOLLOW_ALL, 0), fListener(this), fUpDownThread(-1), fDriverSettings(NULL), fCurrentItem(NULL), fWatching(PPP_UNDEFINED_INTERFACE_ID), fKeepLabel(false) { BRect bounds = Bounds(); // for caching SetViewUIColor(B_PANEL_BACKGROUND_COLOR); // add messenger to us so add-ons can contact us BMessenger messenger(this); fAddons.AddMessenger(DUN_MESSENGER, messenger); // create pop-up with all interfaces and "New..."/"Delete current" items fInterfaceMenu = new BPopUpMenu(kLabelCreateNew); BRect rect = bounds; rect.InsetBy(5, 5); rect.bottom = rect.top + 20; fMenuField = new BMenuField(rect, "Interfaces", kLabelInterface, fInterfaceMenu); fMenuField->SetDivider(StringWidth(fMenuField->Label()) + 5); rect.top = rect.bottom + 10; rect.bottom = bounds.bottom - 20 // height of bottom controls - 20; // space for bottom controls fTabView = new BTabView(rect, "TabView", B_WIDTH_FROM_LABEL); BRect tabViewRect(fTabView->Bounds()); tabViewRect.bottom -= fTabView->TabHeight(); fAddons.AddRect(DUN_TAB_VIEW_RECT, tabViewRect); BRect tmpRect(rect); tmpRect.top += (tmpRect.Height() - 15) / 2; tmpRect.bottom = tmpRect.top + 15; fStringView = new BStringView(tmpRect, "NoInterfacesFound", kTextNoInterfacesFound); fStringView->SetAlignment(B_ALIGN_CENTER); fStringView->Hide(); tmpRect.top = tmpRect.bottom + 10; tmpRect.bottom = tmpRect.top + 25; fCreateNewButton = new BButton(tmpRect, "CreateNewButton", kLabelCreateNewInterface, new BMessage(kMsgCreateNew)); fCreateNewButton->ResizeToPreferred(); tmpRect.left = (rect.Width() - fCreateNewButton->Bounds().Width()) / 2 + rect.left; fCreateNewButton->MoveTo(tmpRect.left, tmpRect.top); fCreateNewButton->Hide(); rect.top = rect.bottom + 15; rect.bottom = rect.top + 15; rect.right = rect.left + 200; fStatusView = new BStringView(rect, "StatusView", kTextNotConnected, B_FOLLOW_BOTTOM); rect.InsetBy(0, -5); rect.left = rect.right + 5; rect.right = bounds.right - 5; fConnectButton = new BButton(rect, "ConnectButton", kLabelConnect, new BMessage(kMsgConnectButton), B_FOLLOW_BOTTOM); AddChild(fMenuField); AddChild(fTabView); AddChild(fStringView); AddChild(fCreateNewButton); AddChild(fStatusView); AddChild(fConnectButton); // initialize LoadInterfaces(); LoadAddons(); CreateTabs(); fCurrentItem = NULL; // reset, otherwise SelectInterface will not load the settings SelectInterface(0); UpdateControls(); }
void FlatTabsTest(void) { Ihandle *box, *frm1, *frm2, *dlg, *tabs; tabs = CreateTabs(1); box = IupHbox(tabs, #if 0 frm1 = IupFrame(IupRadio(IupVbox(IupToggle("TOP", "cbType"), IupToggle("LEFT", "cbType"), IupToggle("BOTTOM", "cbType"), IupToggle("RIGHT", "cbType"), NULL))), frm2 = IupFrame(IupRadio(IupVbox(IupToggle("HORIZONTAL", "cbOrientation"), IupToggle("VERTICAL", "cbOrientation"), NULL))), #endif IupVbox(IupSetAttributes(IupButton("Add Tab", "cbAddTab"), "TIP=\"Button Tip\""), IupButton("Insert Tab", "cbInsertTab"), IupButton("Remove Tab", "cbRemoveTab"), IupButton("UnHide All Tabs", "cbUnHideAllTabs"), IupButton("Enable All Tabs", "cbEnableAllTabs"), IupToggle("Inactive", "cbInactive"), IupButton("Test", "cbTest"), NULL), NULL); #if 0 IupSetAttribute(frm1, "MARGIN", "5x5"); IupSetAttribute(frm2, "MARGIN", "5x5"); IupSetAttribute(frm1, "GAP", "0"); IupSetAttribute(frm2, "GAP", "0"); IupSetAttribute(frm1, "TITLE", "Type"); IupSetAttribute(frm2, "TITLE", "Orientation"); #endif IupSetAttribute(box, "MARGIN", "10x10"); IupSetAttribute(box, "GAP", "10"); dlg = IupDialog(box); IupSetAttribute(dlg, "TITLE", "IupFlatTabs Test"); IupSetAttribute(dlg, "APP_TABS", (char*)tabs); // IupSetAttribute(box, "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BACKGROUND", "200 10 80"); // IupSetAttributeHandle(dlg, "BACKGROUND", load_image_LogoTecgraf()); // IupSetAttribute(dlg, "FGCOLOR", "10 200 80"); IupMap(dlg); IupSetAttribute(dlg, "SIZE", NULL); IupShowXY(dlg, IUP_CENTER, IUP_CENTER); IupSetFunction("cbOrientation", (Icallback)cbOrientation); IupSetFunction("cbType", (Icallback)cbType); IupSetFunction("cbAddTab", (Icallback)cbAddTab); IupSetFunction("cbInsertTab", (Icallback)cbInsertTab); IupSetFunction("cbRemoveTab", (Icallback)cbRemoveTab); IupSetFunction("cbInactive", (Icallback)cbInactive); IupSetFunction("cbChildButton", (Icallback)cbChildButton); IupSetFunction("cbTest", (Icallback)cbTest); IupSetFunction("cbRemoveThisTab", (Icallback)cbRemoveThisTab); IupSetFunction("cbUnHideAllTabs", (Icallback)cbUnHideAllTabs); IupSetFunction("cbEnableAllTabs", (Icallback)cbEnableAllTabs); IupSetFunction("cbHideThisTab", (Icallback)cbHideThisTab); IupSetFunction("cbDisableThisTab", (Icallback)cbDisableThisTab); }