Esempio n. 1
0
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;
  }
}
Esempio n. 2
0
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);
}
Esempio n. 3
0
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();
	}
    }
}
Esempio n. 4
0
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] */
}
Esempio n. 5
0
// 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;

}
Esempio n. 6
0
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 ();
    }
}