Beispiel #1
0
/* ---------------------------------------------------------------------
 * ShellDlgSizeHook
 * Handle size events
 * ---------------------------------------------------------------------
 */
static int
ShellDlgSizeHook(void* w)
{
	CUIWINDOW* win = (CUIWINDOW*) w;
	CUIWINDOW* ctrl;
	CUIRECT rc;

	WindowGetClientRect(win, &rc);

	ctrl = WindowGetCtrl(win, IDC_TERMINAL);
	if (ctrl)
	{
		WindowMove(ctrl, 0, 0, rc.W, rc.H);
	}
	return TRUE;
}
static void UpdateDialogPosition(UIStatusWnd *const wnd)
{
	int mainX = 0;
	int mainY = 0;
	int mainWidth = 0;
	int mainHeight = 0;
	int tonerRepDlgX = 0;
	int tonerRepDlgY = 0;
	int tonerRepDlgWidth = 0;
	int tonerRepDlgHeight = 0;
	int screenWidth = 0;
	int screenHeight = 0;

	if(wnd != NULL){
		GtkWidget *mainWindow = UI_DIALOG(wnd)->window;
		GtkWidget *tonerRepDlg = UI_DIALOG(wnd->toner_replacement_dlg)->window;

		GetWindowPositionAndSize(mainWindow, &mainX, &mainY, &mainWidth, &mainHeight);

		GetWindowPositionAndSize(tonerRepDlg, &tonerRepDlgX, &tonerRepDlgY, &tonerRepDlgWidth, &tonerRepDlgHeight);

		GetScreenSize(mainWindow, &screenWidth, &screenHeight);

		if((mainX + mainWidth + tonerRepDlgWidth) <= screenWidth){
			tonerRepDlgX = mainX + mainWidth;
		}else if((mainX - tonerRepDlgWidth) >= 0){
			tonerRepDlgX = mainX - tonerRepDlgWidth;
		}else if((mainX + (mainWidth / 2)) < (screenWidth / 2)){
			tonerRepDlgX = screenWidth - tonerRepDlgWidth;
		}else{
			tonerRepDlgX = 0;
		}

		tonerRepDlgY = mainY;

		WindowMove(tonerRepDlg, tonerRepDlgX, tonerRepDlgY);
	}
}