示例#1
0
QMenu* sTreeWidget::newMenu(xmlItem obj){
    QMenu* menu = new QMenu;
    qDebug() << obj.nodeName();
    if(obj.nodeName() == md_spravochniki){
        QAction *act = new QAction("Новый справочник..",this);
        connect(act,SIGNAL(triggered()),this,SLOT(NewObjMd()));
        menu->addAction(act);
    }

    if(obj.nodeName() == md_documents){
        QAction *act = new QAction("Новый документ..",this);
        connect(act,SIGNAL(triggered()),this,SLOT(NewObjMd()));
        menu->addAction(act);
    }

    if(obj.nodeName() == md_element){
        QAction *act = new QAction("Добавить",this);
        connect(act,SIGNAL(triggered()),this,SLOT(NewElement()));
        menu->addAction(act);
    }

    if(obj.nodeName() == md_forms){
        QAction *act = new QAction("Добавить",this);
        connect(act,SIGNAL(triggered()),this,SLOT(NewForm()));
        menu->addAction(act);
    }


    if(obj.nodeName() == md_field){
        QAction *edit = new QAction("Редактировать",this);
        connect(edit,SIGNAL(triggered()),this,SLOT(EditElement()));
        menu->addAction(edit);

        QAction *del = new QAction("Удалить",this);
        connect(del,SIGNAL(triggered()),this,SLOT(DelElement()));
        menu->addAction(del);
    }

    return menu;
}
示例#2
0
BOOL CALLBACK dlgToolbarProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){
	TBBUTTON	ToolBtn[9] = {
		{0, IDC_TOOLBAR_NEW, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, 0},
		{1, IDC_TOOLBAR_OPEN, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, 0},
		{2, IDC_TOOLBAR_SAVE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, 0},
		{3, IDC_TOOLBAR_SAVEAS, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, 0},
		{0, IDC_TOOLBAR_SEP, 0, TBSTYLE_SEP, 0, 0, 0, 0},
		{4, IDC_TOOLBAR_FINDER, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, 0},
		{5, IDC_TOOLBAR_TRANSPARENT, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, 0},
		{0, IDC_TOOLBAR_SEP, 0, TBSTYLE_SEP, 0, 0, 0, 0},
		{6, IDC_TOOLBAR_EXIT, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, 0}
	};
	TCHAR		lpstrFile[MAX_PATH] = TEXT("");

	switch(message)
	{
	case WM_INITDIALOG:
		HWND	hToolbar;

		// Set global variable
		g_hDlgToolbar = hDlg;

		// Create toolbar control
		InitCommonControls();
		hToolbar = CreateToolbarEx(hDlg, WS_CHILD | WS_VISIBLE | WS_BORDER | TBSTYLE_TOOLTIPS,
			ID_TOOLBAR, 7, g_hInst, IDB_TOOLBARITEM, ToolBtn, 9, 16, 16, 16, 16, sizeof(TBBUTTON));

		// Resize dialog
		MoveWindow(hDlg, 0, 0, 183, 53, TRUE);

		return TRUE;

	case WM_COMMAND:
		int				rtnMsg;
		OPENFILENAME	ofn;

		switch(LOWORD(wParam))
		{
		case IDC_TOOLBAR_NEW:
			if (g_numZone != -1)
			{
				rtnMsg = MessageBox(hDlg, TEXT("현재 폼을 저장하시겠습니까?"), TEXT("저장"), MB_YESNO | MB_ICONQUESTION);
				if (rtnMsg == 6)
					SendMessage(hDlg, WM_COMMAND, MAKELPARAM(IDC_TOOLBAR_SAVE, 0), 0);
			}
			NewForm();

			break;
		case IDC_TOOLBAR_OPEN:
			if (g_numZone != -1)
			{
				rtnMsg = MessageBox(hDlg, TEXT("현재 폼을 저장하시겠습니까?"), TEXT("저장"), MB_YESNO | MB_ICONQUESTION);
				if (rtnMsg == 6)
					SendMessage(hDlg, WM_COMMAND, MAKELPARAM(IDC_TOOLBAR_SAVE, 0), 0);
			}

			memset(&ofn, 0, sizeof(OPENFILENAME));
			ofn.lStructSize = sizeof(OPENFILENAME);
			ofn.hwndOwner = hDlg;
			ofn.lpstrFilter = TEXT("Form Files(*.sdfrm)\0*.sdfrm\0");
			ofn.lpstrFile = lpstrFile;
			ofn.nMaxFile = MAX_PATH;
			if (GetOpenFileName(&ofn) == 0)
				break;
			LoadFormFile((LPSTR)lpstrFile);

			break;
		case IDC_TOOLBAR_SAVE:
			if (lstrcmp(g_formPath, TEXT("")) == 0)
			{
				memset(&ofn, 0, sizeof(OPENFILENAME));
				ofn.lStructSize = sizeof(OPENFILENAME);
				ofn.hwndOwner = hDlg;
				ofn.lpstrFilter = TEXT("Form Files(*.sdfrm)\0*.sdfrm\0");
				ofn.lpstrFile = lpstrFile;
				ofn.nMaxFile = MAX_PATH;
				ofn.lpstrTitle = TEXT("저장");
				if (GetSaveFileName(&ofn) == 0)
					break;
				if (SaveFormFile((LPSTR)lpstrFile) == FALSE)
					MessageBox(hDlg, TEXT("폼에 영역이 없어서 저장할 수 없습니다."), TEXT("에러"), MB_ICONERROR);
			}
			else
				if (SaveFormFile((LPSTR)g_formPath) == FALSE)
					MessageBox(hDlg, TEXT("폼에 영역이 없어서 저장할 수 없습니다."), TEXT("에러"), MB_ICONERROR);

			break;
		case IDC_TOOLBAR_SAVEAS:
			memset(&ofn, 0, sizeof(OPENFILENAME));
			ofn.lStructSize = sizeof(OPENFILENAME);
			ofn.hwndOwner = hDlg;
			ofn.lpstrFilter = TEXT("Form Files(*.sdfrm)\0*.sdfrm\0");
			ofn.lpstrFile = lpstrFile;
			ofn.nMaxFile = MAX_PATH;
			if (GetSaveFileName(&ofn) == 0)
				break;
			if (SaveFormFile((LPSTR)lpstrFile) == FALSE)
				MessageBox(hDlg, TEXT("폼에 영역이 없어서 저장할 수 없습니다."), TEXT("에러"), MB_ICONERROR);

			break;
		case IDC_TOOLBAR_FINDER:
			if (IsWindowVisible(g_hDlgFinder))
				ShowWindow(g_hDlgFinder, SW_HIDE);
			else
				ShowWindow(g_hDlgFinder, SW_SHOW);

			break;
		case IDC_TOOLBAR_TRANSPARENT:
			if (IsWindowVisible(g_hDlgTransparent))
				ShowWindow(g_hDlgTransparent, SW_HIDE);
			else
				ShowWindow(g_hDlgTransparent, SW_SHOW);

			break;
		case IDC_TOOLBAR_EXIT:
			if (g_numZone != -1)
			{
				rtnMsg = MessageBox(hDlg, TEXT("현재 폼을 저장하시겠습니까?"), TEXT("저장"), MB_YESNO | MB_ICONQUESTION);
				if (rtnMsg == 6)
					SendMessage(hDlg, WM_COMMAND, MAKELPARAM(IDC_TOOLBAR_SAVE, 0), 0);
			}

			SaveToolsSettings();

			g_numZone = -1;
			EndDialog(g_hDlgBoard, NULL);
			break;
		}
		
		break;

	case WM_NOTIFY:
		switch(((LPNMHDR)lParam)->code)
		{
		case TTN_GETDISPINFO:
			switch(wParam)
			{
			case IDC_TOOLBAR_NEW:
				((LPNMTTDISPINFO)lParam)->lpszText = "새로 만들기";
				break;
			case IDC_TOOLBAR_OPEN:
				((LPNMTTDISPINFO)lParam)->lpszText = "열기";
				break;
			case IDC_TOOLBAR_SAVE:
				((LPNMTTDISPINFO)lParam)->lpszText = "저장";
				break;
			case IDC_TOOLBAR_SAVEAS:
				((LPNMTTDISPINFO)lParam)->lpszText = "다른 이름으로 저장";
				break;
			case IDC_TOOLBAR_FINDER:
				((LPNMTTDISPINFO)lParam)->lpszText = "파인더";
				break;
			case IDC_TOOLBAR_TRANSPARENT:
				((LPNMTTDISPINFO)lParam)->lpszText = "투명도 설정";
				break;
			case IDC_TOOLBAR_EXIT:
				((LPNMTTDISPINFO)lParam)->lpszText = "종료";
				break;
			}
		}

		break;
	}

	return FALSE;
}