void CPWL_Wnd::Create(const PWL_CREATEPARAM& cp) { if (!IsValid()) { m_sPrivateParam = cp; OnCreate(m_sPrivateParam); m_sPrivateParam.rcRectWnd.Normalize(); m_rcWindow = m_sPrivateParam.rcRectWnd; m_rcClip = CPWL_Utils::InflateRect(m_rcWindow, 1.0f); CreateMsgControl(); if (m_sPrivateParam.pParentWnd) m_sPrivateParam.pParentWnd->OnNotify(this, PNM_ADDCHILD); PWL_CREATEPARAM ccp = m_sPrivateParam; ccp.dwFlags &= 0xFFFF0000L; // remove sub styles ccp.mtChild = CFX_Matrix(1, 0, 0, 1, 0, 0); CreateScrollBar(ccp); CreateChildWnd(ccp); m_bVisible = HasFlag(PWS_VISIBLE); OnCreated(); RePosChildWnd(); m_bCreated = TRUE; } }
void OnCreate(HWND hwnd) { g_btOpen = CreateButton(hwnd, _T("V"), 0, 0, 20, 20); g_btPlay = CreateButton(hwnd, _T("|>"), 20, 0, 20, 20); g_btPause = CreateButton(hwnd, _T("||"), 40, 0, 20, 20); g_btStop = CreateButton(hwnd, _T("[]"), 60, 0, 20, 20); g_stTime = CreateStatic(hwnd, _T("00:00"), 0, 20, 60, 20); g_sbTime = CreateScrollBar(hwnd, 60, 20, 220, 20); g_hPanel = CreateStatic(hwnd, _T(""), 0, 40, 300, 200); #ifndef WINCE DragAcceptFiles(hwnd, true); #endif CWindowsDataSourceFactory::Register(); CDefaultMediaSourceFactory::Register(); CDefaultDecoderFactory::Register(); CWindowsRendererFactory::Register(); g_pGoodlayer = new CGoodPlayer(); g_pPlayer = new CMediaPlayer(g_hPanel); g_pPlayer->SetPlayerListener(g_pGoodlayer); g_pPlayer->LoadConfig(_T("GoodPlayer.cfg")); g_nDuration = 0; EnableWindow(g_btPlay, false); EnableWindow(g_btPause, false); EnableWindow(g_btStop, false); }
void ScrollBarOn(XtermWidget xw, Bool init) { TScreen *screen = TScreenOf(xw); if (screen->fullVwin.sb_info.width || IsIcon(screen)) return; TRACE(("ScrollBarOn(init %s)\n", BtoS(init))); if (init) { /* then create it only */ if (screen->scrollWidget == 0) { /* make it a dummy size and resize later */ screen->scrollWidget = CreateScrollBar(xw, -ScrollBarBorder(xw), -ScrollBarBorder(xw), 5); if (screen->scrollWidget == NULL) { Bell(xw, XkbBI_MinorError, 0); } } } else if (!screen->scrollWidget || !XtIsRealized((Widget) xw)) { Bell(xw, XkbBI_MinorError, 0); Bell(xw, XkbBI_MinorError, 0); } else { ResizeScrollBar(xw); xtermAddInput(screen->scrollWidget); XtRealizeWidget(screen->scrollWidget); TRACE_TRANS("scrollbar", screen->scrollWidget); screen->fullVwin.sb_info.rv_cached = False; screen->fullVwin.sb_info.width = (screen->scrollWidget->core.width + BorderWidth(screen->scrollWidget)); TRACE(("setting scrollbar width %d = %d + %d\n", screen->fullVwin.sb_info.width, screen->scrollWidget->core.width, BorderWidth(screen->scrollWidget))); ScrollBarDrawThumb(screen->scrollWidget); DoResizeScreen(xw); #ifdef SCROLLBAR_RIGHT updateRightScrollbar(xw); #endif XtMapWidget(screen->scrollWidget); update_scrollbar(); if (screen->visbuf) { xtermClear(xw); Redraw(); } } }
void ScrollBarOn (XtermWidget xw,int init,int doalloc) { register TScreen *screen = &xw->screen; register int border = 2 * screen->border; register int i,j,k; /* if(screen->scrollbar) return; */ if(screen->fullVwin.sb_info.width) return; if (init) { /* then create it only */ if (screen->scrollWidget) return; /* make it a dummy size and resize later */ if ((screen->scrollWidget = CreateScrollBar (xw, -1, - 1, 5)) == NULL) { Bell(XkbBI_MinorError,0); return; } return; } if (!screen->scrollWidget) { Bell (XkbBI_MinorError,0); Bell (XkbBI_MinorError,0); return; } if (doalloc && screen->allbuf) { /* FIXME: this is not integrated well with Allocate */ if((screen->allbuf = (ScrnBuf) realloc((char *) screen->visbuf, (unsigned) MAX_PTRS*(screen->max_row + 2 + screen->savelines) * sizeof(char *))) == NULL) SysError(ERROR_SBRALLOC); screen->visbuf = &screen->allbuf[MAX_PTRS * screen->savelines]; memmove( (char *)screen->visbuf, (char *)screen->allbuf, MAX_PTRS * (screen->max_row + 2) * sizeof (char *)); for (i = k = 0; i < screen->savelines; i++) { k += BUF_HEAD; for (j = BUF_HEAD; j < MAX_PTRS; j++) { if((screen->allbuf[k++] = (Char *)calloc((unsigned) screen->max_col + 1, sizeof(Char))) == NULL) SysError(ERROR_SBRALLOC2); } } } ResizeScrollBar (screen); xtermAddInput(screen->scrollWidget); XtRealizeWidget (screen->scrollWidget); /* Now set the left ptr cursor for the scrollbar [email protected] */ XDefineCursor(XtDisplay(screen->scrollWidget), XtWindow(screen->scrollWidget), screen->arrow); screen->fullVwin.sb_info.rv_cached = False; screen->fullVwin.sb_info.width = screen->scrollWidget->core.width + screen->scrollWidget->core.border_width; ScrollBarDrawThumb(screen->scrollWidget); DoResizeScreen (xw); XtMapWidget(screen->scrollWidget); update_scrollbar (); if (screen->visbuf) { XClearWindow (screen->display, XtWindow (term)); Redraw (); } /* XXX TODO if scrollbar is on right [email protected] */ }
// Build the screen bool CScreenHostLevels::Build() { LTRect2n rcAvailRect = g_pLayoutDB->GetListRect(m_hLayout,0); LTRect2n rcSelRect = g_pLayoutDB->GetListRect(m_hLayout,1); uint32 nOffset = g_pLayoutDB->GetInt32(m_hLayout,LDB_ScreenFontSize) + 4; LTVector2n addPos = rcAvailRect.GetTopLeft(); addPos.y -= nOffset; LTVector2n removePos = rcSelRect.GetTopLeft(); removePos.y -= nOffset; LTVector2n commandPos = rcAvailRect.GetTopRight(); commandPos.x += nOffset; commandPos.x += g_pLayoutDB->GetScrollBarSize(); int32 nCommandWidth = rcSelRect.Left() - commandPos.x; nListFontSize = g_pLayoutDB->GetListSize(m_hLayout,0); CreateTitle("IDS_TITLE_HOST_MISSIONS"); //background frame CLTGUICtrl_create frameCs; TextureReference hFrame(g_pLayoutDB->GetString(m_hLayout,LDB_ScreenFrameTexture)); frameCs.rnBaseRect = g_pLayoutDB->GetRect(m_hLayout,LDB_ScreenFrameRect); CLTGUIFrame *pFrame = debug_new(CLTGUIFrame); pFrame->Create(hFrame, frameCs); AddControl(pFrame); CLTGUICtrl_create cs; cs.rnBaseRect.m_vMin.Init(); cs.rnBaseRect.m_vMax = LTVector2n(nCommandWidth,g_pLayoutDB->GetInt32(m_hLayout,LDB_ScreenFontSize)); cs.nCommandID = CMD_ADD_LEVEL; cs.szHelpID = "IDS_HELP_ADD_MISSION"; m_pAdd = AddTextItem("IDS_HOST_ADD_MISSION", cs, true); m_pAdd->SetBasePos(addPos); m_DefaultPos = commandPos; cs.nCommandID = CMD_ADD_ALL; cs.szHelpID = "IDS_HELP_ADD_ALL_LEVELS"; m_pAddAll = AddTextItem("IDS_HOST_ADD_ALL_LEVELS", cs); cs.nCommandID = CMD_REMOVE_ALL; cs.szHelpID = "IDS_HELP_REM_ALL_LEVELS"; m_pRemoveAll = AddTextItem("IDS_HOST_REMOVE_ALL_LEVELS", cs); cs.nCommandID = CMD_REMOVE_LEVEL; cs.szHelpID = "IDS_HELP_REM_MISSION"; m_pRemove = AddTextItem("IDS_HOST_REMOVE_MISSION", cs, true); m_pRemove->SetBasePos(removePos); { CLTGUIScrollBar_create csb; csb.rnBaseRect = g_pLayoutDB->GetListRect(m_hLayout,0); csb.rnBaseRect.Right() += g_pLayoutDB->GetScrollBarSize(); csb.rnBaseRect.Left() = csb.rnBaseRect.Right() - g_pLayoutDB->GetScrollBarSize(); m_pAvailMissionsScrollBar = CreateScrollBar( csb ); if( m_pAvailMissionsScrollBar ) { m_pAvailMissionsScrollBar->SetFrameWidth( 1 ); m_pAvailMissionsScrollBar->Enable( true ); m_pAvailMissionsScrollBar->Show( true ); } } { CLTGUIScrollBar_create csb; csb.rnBaseRect = g_pLayoutDB->GetListRect(m_hLayout,1); csb.rnBaseRect.Right() += g_pLayoutDB->GetScrollBarSize(); csb.rnBaseRect.Left() = csb.rnBaseRect.Right() - g_pLayoutDB->GetScrollBarSize(); m_pSelMissionsScrollBar = CreateScrollBar( csb ); if( m_pSelMissionsScrollBar ) { m_pSelMissionsScrollBar->SetFrameWidth( 1 ); m_pSelMissionsScrollBar->Enable( true ); m_pSelMissionsScrollBar->Show( true ); } } // int32 nListHeight = rcAvailRect.GetHeight(); nAvailWidth = rcAvailRect.GetWidth(); CLTGUIListCtrlEx_create listCs; listCs.rnBaseRect = rcAvailRect; listCs.nTextIdent = g_pLayoutDB->GetListIndent(m_hLayout,0).x; listCs.pScrollBar = m_pAvailMissionsScrollBar; m_pAvailMissions = AddListEx(listCs); m_pAvailMissions->SetFrameWidth( 1 ); m_pAvailMissions->SetIndent(g_pLayoutDB->GetListIndent(m_hLayout,0)); hFrame.Load(g_pLayoutDB->GetListFrameTexture(m_hLayout,0,0)); TextureReference hSelFrame(g_pLayoutDB->GetListFrameTexture(m_hLayout,0,1)); m_pAvailMissions->SetFrame(hFrame,hSelFrame,g_pLayoutDB->GetListFrameExpand(m_hLayout,0)); if( m_pAvailMissionsScrollBar ) AddControl( m_pAvailMissionsScrollBar ); nSelWidth = rcSelRect.GetWidth(); listCs.rnBaseRect = rcSelRect; listCs.pScrollBar = m_pSelMissionsScrollBar; m_pSelMissions = AddListEx(listCs); m_pSelMissions->SetFrameWidth( 1 ); m_pSelMissions->SetIndent(g_pLayoutDB->GetListIndent(m_hLayout,1)); hFrame.Load(g_pLayoutDB->GetListFrameTexture(m_hLayout,1,0)); hSelFrame.Load(g_pLayoutDB->GetListFrameTexture(m_hLayout,1,1)); m_pSelMissions->SetFrame(hFrame,hSelFrame,g_pLayoutDB->GetListFrameExpand(m_hLayout,1)); if( m_pSelMissionsScrollBar ) AddControl( m_pSelMissionsScrollBar ); // Make sure to call the base class if (!CBaseScreen::Build()) return false; UseBack(true,true); return true; }
void ScrollBarOn (XtermWidget xw, int init, int doalloc) { #ifdef MOTIF Cursor arrowCursor; #endif /* MOTIF */ register TScreen *screen = &xw->screen; register int i, j, k; if(screen->fullVwin.scrollbar) return; if (init) { /* then create it only */ if (screen->scrollWidget) return; /* make it a dummy size and resize later */ if ((screen->scrollWidget = CreateScrollBar (xw, -1, -1, 5)) == NULL) { Bell(XkbBI_MinorError,0); return; } return; } if (!screen->scrollWidget) { Bell (XkbBI_MinorError,0); Bell (XkbBI_MinorError,0); return; } if (doalloc && screen->allbuf) { /* FIXME: this is not integrated well with Allocate */ if((screen->allbuf = (ScrnBuf) realloc((char *) screen->visbuf, (unsigned) MAX_PTRS*(screen->max_row + 2 + screen->savelines) * sizeof(char *))) == NULL) Error (ERROR_SBRALLOC); screen->visbuf = &screen->allbuf[MAX_PTRS * screen->savelines]; memmove( (char *)screen->visbuf, (char *)screen->allbuf, MAX_PTRS * (screen->max_row + 2) * sizeof (char *)); for (i = k = 0; i < screen->savelines; i++) { k += BUF_HEAD; for (j = BUF_HEAD; j < MAX_PTRS; j++) { if((screen->allbuf[k++] = (Char *)calloc((unsigned) screen->max_col + 1, sizeof(Char))) == NULL) Error (ERROR_SBRALLOC2); } } } ResizeScrollBar (screen); XtRealizeWidget (screen->scrollWidget); #ifdef MOTIF /* define pointer cursor for it */ arrowCursor = XCreateFontCursor(XtDisplay(screen->scrollWidget), XC_left_ptr); XDefineCursor(XtDisplay(screen->scrollWidget), XtWindow(screen->scrollWidget), arrowCursor); XFreeCursor(XtDisplay(screen->scrollWidget), arrowCursor); #endif /* MOTIF */ screen->fullVwin.scrollbar = screen->scrollWidget->core.width + screen->scrollWidget->core.border_width; ScrollBarDrawThumb(screen->scrollWidget); DoResizeScreen (xw); #ifdef SCROLLBAR_RIGHT /* * Adjust the scrollbar position if we're asked to turn on scrollbars * for the first time after the xterm is already running. That makes * the window grow after we've initially configured the scrollbar's * position. (There must be a better way). */ if (term->misc.useRight && screen->fullVwin.fullwidth < term->core.width) XtVaSetValues(screen->scrollWidget, XtNx, screen->fullVwin.fullwidth - screen->scrollWidget->core.border_width, NULL); #endif XtMapWidget(screen->scrollWidget); update_scrollbar (); if (screen->visbuf) { XClearWindow (screen->display, XtWindow (term)); Redraw (); } }