Пример #1
0
//##ModelId=474D305801B6
void COptionFriends::OnKeydownList(NMHDR* pNMHDR, LRESULT* pResult)
{
    LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;

    switch (pLVKeyDow->wVKey)
    {
    case VK_DELETE:
    {
        POSITION pos = m_List.GetFirstSelectedItemPosition();
        if(pos)
        {
            int nItem = m_List.GetNextSelectedItem(pos);
            m_List.SetItemText(nItem, 1, _T(EMPTRY_STRING));
            m_List.SetItemText(nItem, 2, _T(EMPTRY_STRING));
            m_List.SetItemText(nItem, 3, _T(EMPTRY_STRING));
        }
    }
    break;
    case VK_RETURN:
    {
        POSITION pos = m_List.GetFirstSelectedItemPosition();
        if(pos)
        {
            int nItem = m_List.GetNextSelectedItem(pos);
            EditItem(nItem);
        }
    }
    break;
    }


    *pResult = 0;
}
void WIDGET_HOTKEY_LIST::OnMenu( wxCommandEvent& aEvent )
{
    switch( aEvent.GetId() )
    {
    case ID_EDIT:
        EditItem( m_context_menu_item );
        break;

    case ID_RESET:
        ResetItem( m_context_menu_item );
        break;

    case ID_DEFAULT:
        ResetItemToDefault( m_context_menu_item );
        break;

    case ID_RESET_ALL:
        ResetAllHotkeys( false );
        break;

    case ID_DEFAULT_ALL:
        ResetAllHotkeys( true );
        break;

    default:
        wxFAIL_MSG( wxT( "Unknown ID in context menu event" ) );
    }
}
//*******************************************************************************
BOOL CBCGPDiagramVisualContainer::OnMouseDblClick(int nButton, const CBCGPPoint& pt)
{
	if (!IsInplaceEditEnabled ())
	{
		return FALSE;
	}

	CBCGPBaseVisualObject* pObject = GetFromPoint(pt);
	if (pObject != NULL)
	{
		ASSERT_VALID(pObject);
		if (pObject->OnMouseDblClick (nButton, pt))
		{
			return TRUE;
		}

		CBCGPDiagramVisualObject* pDiagramItem = DYNAMIC_DOWNCAST(CBCGPDiagramVisualObject, pObject);
		if (pDiagramItem != NULL)
		{
			return EditItem (pDiagramItem, &pt);
		}
	}

	return FALSE;
}
Пример #4
0
//******************************************************************************************
void CArrayGrid::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
	CWnd::OnChar(nChar, nRepCnt, nFlags);

	if (m_nDraggedColumn >= 0 || m_bTracking || m_bSelecting || nChar == 3)
	{
		return;
	}

	if (!CanBeginInplaceEditOnChar (nChar, nRepCnt, nFlags))
	{
		return;
	}

	CBCGPGridRow* pSel = GetCurSel ();

	if (pSel == NULL || !pSel->IsEnabled())
	{
		return;
	}

	ASSERT_VALID (pSel);
	EnsureVisible (pSel, TRUE);

	SetBeginEditReason (BeginEdit_Char);
	if (!EditItem (pSel))
	{
		return;
	}

	DoInplaceEditSetSel (OnInplaceEditSetSel (GetCurSelItem (pSel), BeginEdit_Char));

	pSel->PushChar (nChar);
}
void WIDGET_HOTKEY_LIST::OnMenu( wxCommandEvent& aEvent )
{
    switch( aEvent.GetId() )
    {
    case ID_EDIT:
        EditItem( m_context_menu_item );
        break;

    case ID_RESET:
        ResetItem( m_context_menu_item );
        break;

    case ID_DEFAULT:
        ResetItemToDefault( m_context_menu_item );
        break;

    case ID_RESET_ALL:
        TransferDataToControl();
        break;

    case ID_DEFAULT_ALL:
        TransferDefaultsToControl();
        break;

    default:
        wxFAIL_MSG( wxT( "Unknown ID in context menu event" ) );
    }
}
void PHPProjectSettingsDlg::OnEditFileMapping(wxCommandEvent& e)
{
    wxDataViewItemArray items;
    m_dvListCtrlFileMapping->GetSelections(items);
    if(items.GetCount() != 1) return;

    wxDataViewItem item = items.Item(0);
    EditItem(item);
}
Пример #7
0
//##ModelId=474D30580149
void COptionFriends::OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult)
{
    POSITION pos = m_List.GetFirstSelectedItemPosition();
    if(pos)
    {
        int nItem = m_List.GetNextSelectedItem(pos);

        EditItem(nItem);
    }

    *pResult = 0;
}
Пример #8
0
void GroupListView::CreateActions()
{
    actRename = new QAction(QIcon(":/img16x16/cell_edit.png"),tr("Rename"),this);
    actRename->setShortcut( Qt::Key_F2 );
    actRename->setShortcutContext(Qt::WidgetWithChildrenShortcut);
    connect(actRename,SIGNAL(triggered()),
            this,SLOT(EditItem()));
    addAction(actRename);

    actAddNew = new QAction(QIcon(":/img16x16/edit_add.png"),tr("Insert new"),this);
    actAddNew->setShortcut( Qt::Key_Insert );
    actAddNew->setShortcutContext(Qt::WidgetWithChildrenShortcut);
    connect(actAddNew,SIGNAL(triggered()),
            this,SLOT(InsertItem()));
    addAction(actAddNew);

    actDel = new QAction(QIcon(":/img16x16/edit_remove.png"),tr("Delete"),this);
    actDel->setShortcut(QKeySequence::Delete);
    actDel->setShortcutContext(Qt::WidgetWithChildrenShortcut);
    connect(actDel,SIGNAL(triggered()),
            this,SLOT(DeleteItem()));
    addAction(actDel);

    actCopy = new QAction( QIcon(":/img16x16/editcopy.png"), "Copy", this);
    actCopy->setShortcuts(QKeySequence::Copy);
    actCopy->setShortcutContext(Qt::WidgetWithChildrenShortcut);
    connect(actCopy, SIGNAL(triggered()),
            this, SLOT(Copy()));
    addAction(actCopy);

    actPaste = new QAction( QIcon(":/img16x16/editpaste.png"), "Paste", this);
    actPaste->setShortcuts(QKeySequence::Paste);
    actPaste->setShortcutContext(Qt::WidgetWithChildrenShortcut);
    connect(actPaste, SIGNAL(triggered()),
            this, SLOT(Paste()));
    addAction(actPaste);

    actCut = new QAction( QIcon(":/img16x16/editcut.png"), "Cut", this);
    actCut->setShortcuts(QKeySequence::Cut);
    actCut->setShortcutContext(Qt::WidgetWithChildrenShortcut);
    connect(actCut, SIGNAL(triggered()),
            this, SLOT(Cut()));
    addAction(actCut);
}
Пример #9
0
void CListCtrlEx::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult) 
{
   NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
   
   if(pNMListView->iItem == -1 || pNMListView->iSubItem == -1)
   {
      *pResult =0;
      return;
   }
   
   m_iItem = pNMListView->iItem;
   int col = pNMListView->iSubItem;

   if(m_iItem==(GetItemCount()-1))
   {
      InsertNewItem(GetItemCount() - 1);
   }
   else
   {
      EditItem(m_iItem);
   }
   
   *pResult = 0;
}
Пример #10
0
HRESULT CListCtrlEx::InsertNewItem(int iItem, void *pItemData)
{
   HRESULT hr = S_OK;
   
   EndEditItem();

   LV_ITEM lviLeft;
   lviLeft.mask = LVIF_TEXT| LVIF_IMAGE | LVIF_STATE | LVIF_PARAM;
   lviLeft.iItem = iItem;
   lviLeft.iSubItem = 0;
   lviLeft.pszText = _T("");
   lviLeft.iImage = 0;
   lviLeft.stateMask = 0;
   lviLeft.state = 0;
   lviLeft.lParam = (long)pItemData;
   InsertItem(&lviLeft);
   
   if (m_iColumnCount > 1)
   {
      LV_ITEM lviRight;
      lviRight.mask = LVIF_IMAGE | LVIF_STATE;
      lviRight.iItem = iItem;
      lviRight.iSubItem = 1;
      lviRight.iImage = 0;
      lviRight.iIndent = 0;
      lviRight.stateMask = LVIS_STATEIMAGEMASK;
      lviRight.state = INDEXTOSTATEIMAGEMASK(1);
      SetItem(&lviRight);
   }

   EditItem(iItem);
   SelectItem(iItem);

   return hr;
   
}
void WIDGET_HOTKEY_LIST::OnActivated( wxTreeListEvent& aEvent )
{
    EditItem( aEvent.GetItem() );
}
Пример #12
0
void DataModelListCtrl::OnDoubleClick(wxDataViewEvent& event)
{
    EditItem(event.GetItem(), event.GetDataViewColumn());
    event.Skip();
}
Пример #13
0
void PHPProjectSettingsDlg::OnFileMappingItemActivated(wxDataViewEvent& event) {
    EditItem(event.GetItem());
}
Пример #14
0
INT_PTR SceneSwitcherSettings::MsgClicked(int controlId, int code, HWND controlHwnd)
{
    switch(controlId)
	{
	case IDC_CLEAR_HOTKEY:
		if(code == BN_CLICKED) {
			SendMessage(GetDlgItem(hwnd, IDC_TOGGLEHOTKEY), HKM_SETHOTKEY, 0, 0);
            SetChangedSettings(pChange = true);
            return TRUE;
        }
        break;

	case IDC_STOP:
		if(code == BN_CLICKED) // Stop button clicked
		{
			if(thePlugin->IsRunning())
				thePlugin->StopThread(hwnd);
			else
			{
				ApplyConfig(hwnd);
                pChange = false;
				thePlugin->StartThread(hwnd);
			}
            SetChangedSettings(pChange);
            return TRUE;
		}
        break;

	case IDUP:
		{
			HWND wsMap = GetDlgItem(hwnd, IDC_WSMAP);
			const int sel = SendMessage(wsMap, LVM_GETSELECTIONMARK, 0, 0);
			if (sel > 0)
			{
				// Get the text from the item
				String wnd;
				wnd.SetLength(256);
				ListView_GetItemText(wsMap, sel, 0, wnd, 256);
				String scn;
				scn.SetLength(256);
				ListView_GetItemText(wsMap, sel, 1, scn, 256);

				// Delete it
				SendMessage(wsMap, LVM_DELETEITEM, sel, 0);

				// Add it above
				LVITEM lv1;
				lv1.mask = LVIF_TEXT;
				lv1.iItem = sel - 1;
				lv1.iSubItem = 0;
				lv1.pszText = wnd;
				LVITEM lv2;
				lv2.mask = LVIF_TEXT;
				lv2.iItem = sel - 1;
				lv2.iSubItem = 1;
				lv2.pszText = scn;
				SendMessage(wsMap, LVM_INSERTITEM, sel - 1, (LPARAM) &lv1);
				SendMessage(wsMap, LVM_SETITEM, sel - 1, (LPARAM) &lv2);

				// Update the selection mark
				SendMessage(wsMap, LVM_SETSELECTIONMARK, 0, sel - 1);
                SetChangedSettings(pChange = true);
                return TRUE;
			}
            break;
		}
		

	case IDDOWN:
		{
			HWND wsMap = GetDlgItem(hwnd, IDC_WSMAP);
			const int sel = SendMessage(wsMap, LVM_GETSELECTIONMARK, 0, 0);
			const int max = SendMessage(wsMap, LVM_GETITEMCOUNT, 0, 0) - 1;
			if (sel > -1 && sel < max)
			{
				// Get the text from the item
				String wnd;
				wnd.SetLength(256);
				ListView_GetItemText(wsMap, sel, 0, wnd, 256);
				String scn;
				scn.SetLength(256);
				ListView_GetItemText(wsMap, sel, 1, scn, 256);

				// Delete it
				SendMessage(wsMap, LVM_DELETEITEM, sel, 0);

				// Add it below
				LVITEM lv1;
				lv1.mask = LVIF_TEXT;
				lv1.iItem = sel + 1;
				lv1.iSubItem = 0;
				lv1.pszText = wnd;
				LVITEM lv2;
				lv2.mask = LVIF_TEXT;
				lv2.iItem = sel + 1;
				lv2.iSubItem = 1;
				lv2.pszText = scn;
				SendMessage(wsMap, LVM_INSERTITEM, sel + 1, (LPARAM) &lv1);
				SendMessage(wsMap, LVM_SETITEM, sel + 1, (LPARAM) &lv2);

				// Update the selection mark
				SendMessage(wsMap, LVM_SETSELECTIONMARK, 0, sel + 1);
                SetChangedSettings(pChange = true);
                return TRUE;
			}
            break;
		}
		
	case IDADD:
		{
			HWND wsMap = GetDlgItem(hwnd, IDC_WSMAP);
			HWND appList = GetDlgItem(hwnd, IDC_APPLIST);
			HWND scnList = GetDlgItem(hwnd, IDC_MAINSCN);
				
			String wnd = GetEditText(appList);
			// First column
			LVITEM lv1;
			lv1.mask = LVIF_TEXT;
			lv1.iItem = 0;
			lv1.iSubItem = 0;
			lv1.pszText = wnd;
			// Second column
			String scn = GetCBText(scnList, CB_ERR);
			LVITEM lv2;
			lv2.mask = LVIF_TEXT;
			lv2.iItem = 0;
			lv2.iSubItem = 1;
			lv2.pszText = scn;
			// Add first column then set second
			SendMessage(wsMap, LVM_INSERTITEM, 0, (LPARAM)&lv1);
			SendMessage(wsMap, LVM_SETITEM, 0, (LPARAM)&lv2);
            SetChangedSettings(pChange = true);
            return TRUE;
		}
        break;

	case IDREM:
		{
			// Remove the item
			HWND wsMap = GetDlgItem(hwnd, IDC_WSMAP);
			const int sel = SendMessage(wsMap, LVM_GETSELECTIONMARK, 0, 0);
			if (sel > -1)
				SendMessage(wsMap, LVM_DELETEITEM, sel, 0);

            SetChangedSettings(pChange = true);
		    return TRUE;
        }
        break;

	case IDC_ALTSWITCH:
	case IDC_ALTNOSWITCH:
		if (code == BN_CLICKED)
		{
			HWND swButton = GetDlgItem(hwnd, IDC_ALTSWITCH);
			HWND altCombo = GetDlgItem(hwnd, IDC_ALTSCN);
			const bool swChecked = (SendMessage(swButton, BM_GETSTATE, 0, 0) & BST_CHECKED) != 0;
			EnableWindow(altCombo, swChecked);
            pChange = pChange || (swChecked != thePlugin->IsAltDoSwitch());
            SetChangedSettings(pChange);
            return TRUE;
		}
		break;

	case IDC_STARTAUTO:
        {
            HWND control = GetDlgItem(hwnd, IDC_STARTAUTO);
            bool newState = (SendMessage(control, BM_GETSTATE, 0, 0) & BST_CHECKED) != 0;
            pChange = pChange || (newState != thePlugin->IsStartAuto());
            SetChangedSettings(pChange);
            return TRUE;
        }
        break;
    case IDC_TOGGLEHOTKEY:
        if (code == EN_CHANGE) {
            SetChangedSettings(pChange = true);
            return TRUE;
        }
        break;
    case IDC_FREQ:
        if(code == EN_CHANGE)
        {
            DWORD newFreq = GetDlgItemInt(hwnd, IDC_FREQ, NULL, FALSE);
            DWORD oldFreq = thePlugin->GettimeToSleep();
            pChange = pChange || newFreq != oldFreq;
            SetChangedSettings(pChange);
            return TRUE;
        }
        break;
        case IDC_APPLIST:
        case IDC_MAINSCN:
            if (code == CBN_SELCHANGE || code == CBN_EDITCHANGE) {
                EditItem(code == CBN_SELCHANGE && controlId == IDC_APPLIST);
                return TRUE;
            }
            break;
        case IDC_ALTSCN:
            if (code == CBN_SELCHANGE) {
                SetChangedSettings(pChange = true);
                return TRUE;
            }
            break;
	}
    return FALSE;
}
Пример #15
0
void Shortcuts::Configure()
{
	VMenu FolderList(MSG(MFolderShortcutsTitle),nullptr,0,ScrY-4);
	FolderList.SetFlags(VMENU_WRAPMODE);
	FolderList.SetHelp(HelpFolderShortcuts);
	FolderList.SetPosition(-1,-1,0,0);
	FolderList.SetBottomTitle(MSG(MFolderShortcutBottom));

	for (int I=0; I < 10; I++)
	{
		MenuItemEx ListItem={};
		MakeItemName(I, &ListItem);
		FolderList.AddItem(&ListItem);
	}

	FolderList.Show();

	while (!FolderList.Done())
	{
		DWORD Key=FolderList.ReadInput();
		int Pos = FolderList.GetSelectPos();
		ShortcutItem* Item = Items[Pos].First();

		switch (Key)
		{
		case KEY_NUMDEL:
		case KEY_DEL:
		case KEY_NUMPAD0:
		case KEY_INS:
		case KEY_SHIFTINS:
		case KEY_SHIFTNUMPAD0:
			{
				MenuItemEx* MenuItem = FolderList.GetItemPtr();
				if (Key == KEY_INS || Key == KEY_NUMPAD0 || Key&KEY_SHIFT)
				{
					if(!Item || Key&KEY_SHIFT)
					{
						Item = Items[Pos].Push();
					}
					Panel *ActivePanel=CtrlObject->Cp()->ActivePanel;
					CtrlObject->CmdLine->GetCurDir(Item->strFolder);
					if (ActivePanel->GetMode() == PLUGIN_PANEL)
					{
						OpenPluginInfo Info;
						ActivePanel->GetOpenPluginInfo(&Info);
						string strTemp;
						PluginHandle *ph = (PluginHandle*)ActivePanel->GetPluginHandle();
						Item->strPluginModule = ph->pPlugin->GetModuleName();
						Item->strPluginFile = Info.HostFile;
						Item->strPluginData = Info.ShortcutData;
					}
					MakeItemName(Pos, MenuItem);
				}
				else
				{
					if(Item)
					{
						Items[Pos].Delete(Item);
						MakeItemName(Pos, MenuItem);
					}
				}
				DWORD Flags = MenuItem->Flags;
				MenuItem->Flags = 0;
				FolderList.UpdateItemFlags(FolderList.GetSelectPos(), Flags);
				FolderList.SetPosition(-1, -1, -1, -1);
				FolderList.SetUpdateRequired(TRUE);
				FolderList.Show();
			}
			break;

		case KEY_F4:
			{
				if(!Item)
				{
					Item = Items[Pos].Push();
				}
				if(Items[Pos].Count()>1)
				{
					FolderList.ProcessKey(KEY_ENTER);
				}
				else
				{
					EditItem(&FolderList, Item, true);
				}
			}
			break;

		default:
			FolderList.ProcessInput();
			break;
		}
	}

	FolderList.Hide();

	int ExitCode = FolderList.Modal::GetExitCode();

	if(ExitCode>=0)
	{
		CtrlObject->Cp()->ActivePanel->ExecShortcutFolder(ExitCode);
	}
}
Пример #16
0
bool Shortcuts::Get(size_t Pos, string* Folder, string* PluginModule, string* PluginFile, string* PluginData)
{
	bool Result = false;
	if(!Items[Pos].Empty())
	{
		ShortcutItem* RetItem = nullptr;
		if(Items[Pos].Count()>1)
		{
			VMenu FolderList(MSG(MFolderShortcutsTitle),nullptr,0,ScrY-4);
			FolderList.SetFlags(VMENU_WRAPMODE|VMENU_AUTOHIGHLIGHT);
			FolderList.SetHelp(HelpFolderShortcuts);
			FolderList.SetPosition(-1,-1,0,0);
			FolderList.SetBottomTitle(MSG(MFolderShortcutBottomSub));
			for(ShortcutItem* i = Items[Pos].First(); i; i = Items[Pos].Next(i))
			{
				MenuItemEx ListItem={};
				string strFolderName;
				if(!i->strFolder.IsEmpty())
				{
					strFolderName = i->strFolder;
				}
				else
				{
					strFolderName = MSG(i->strPluginModule.IsEmpty()?MShortcutNone:MShortcutPlugin);
				}
				ListItem.strName = strFolderName;
				ListItem.UserData = (char *)(UINT_PTR)i;
				ListItem.UserDataSize = sizeof(UINT);
				FolderList.AddItem(&ListItem);
			}
			FolderList.Show();
			while (!FolderList.Done())
			{
				DWORD Key=FolderList.ReadInput();
				int ItemPos = FolderList.GetSelectPos();
				ShortcutItem* Item = static_cast<ShortcutItem*>(FolderList.GetUserData(nullptr, 0, ItemPos));
				switch (Key)
				{
				case KEY_NUMDEL:
				case KEY_DEL:
				case KEY_NUMPAD0:
				case KEY_INS:
					{
						if (Key == KEY_INS || Key == KEY_NUMPAD0)
						{
							ShortcutItem* NewItem = Items[Pos].InsertBefore(Item);
							Panel *ActivePanel=CtrlObject->Cp()->ActivePanel;
							CtrlObject->CmdLine->GetCurDir(NewItem->strFolder);
							if (ActivePanel->GetMode() == PLUGIN_PANEL)
							{
								OpenPluginInfo Info;
								ActivePanel->GetOpenPluginInfo(&Info);
								string strTemp;
								PluginHandle *ph = (PluginHandle*)ActivePanel->GetPluginHandle();
								NewItem->strPluginModule = ph->pPlugin->GetModuleName();
								NewItem->strPluginFile = Info.HostFile;
								NewItem->strPluginData = Info.ShortcutData;
							}
							MenuItemEx NewMenuItem = {};
							NewMenuItem.strName = NewItem->strFolder;
							NewMenuItem.UserData = (char *)(UINT_PTR) NewItem;
							NewMenuItem.UserDataSize = sizeof(UINT);
							FolderList.AddItem(&NewMenuItem, ItemPos);
							FolderList.SetSelectPos(ItemPos, 1);
						}
						else
						{
							if(!Items[Pos].Empty())
							{
								Items[Pos].Delete(Item);
								FolderList.DeleteItem(FolderList.GetSelectPos());
							}
						}
						FolderList.SetPosition(-1, -1, -1, -1);
						FolderList.SetUpdateRequired(TRUE);
						FolderList.Show();
					}
					break;

				case KEY_F4:
					{
						EditItem(&FolderList, Item, false);
					}
					break;

				default:
					FolderList.ProcessInput();
					break;
				}
			}
			int ExitCode = FolderList.GetExitCode();
			if (ExitCode>=0)
			{
				RetItem = static_cast<ShortcutItem*>(FolderList.GetUserData(nullptr, 0, ExitCode));
			}
		}
		else
		{
			RetItem = Items[Pos].First();
		}

		if(RetItem)
		{
			if(Folder)
			{
				*Folder = RetItem->strFolder;
				apiExpandEnvironmentStrings(*Folder, *Folder);
			}
			if(PluginModule)
			{
				*PluginModule = RetItem->strPluginModule;
			}
			if(PluginFile)
			{
				*PluginFile = RetItem->strPluginFile;
			}
			if(PluginData)
			{
				*PluginData = RetItem->strPluginData;
			}
			Result = true;
		}
	}
	return Result;
}
Пример #17
0
void QUserPanel::EditBtn_clicked()
{
   EditItem(DragItemLbl->text());
}
Пример #18
0
BOOL CALLBACK GroupObjectProc (HWND hDlg, UINT message,
								 WPARAM wParam, LPARAM lParam)
	{
	OBJECTID hobjGroup ;
	int      Index ;
	OBJECTID theObj ;

	switch (message)
		{
		case WM_INITDIALOG:
			AUtlSetTitleFont(OTYPE_GROUP, NULL, GetDlgItem(hDlg, IDD_OBJECT));
			AUtlCenterDialog(hDlg, 0);
			SetWindowLong(hDlg, DWL_USER, lParam) ;
			hobjGroup = (OBJECTID)lParam ;
			InitDialog(hDlg, hobjGroup) ;
			return FALSE ;

		case WM_COMMAND: 
			if (LOWORD(wParam) >= textB && LOWORD(wParam) <= otherB)
				{
				CheckRadioButton (hDlg, textB, otherB, LOWORD(wParam)) ;
				UpdateObjectList(hDlg, LOWORD(wParam)) ;
				return TRUE ;
				}

			switch (LOWORD(wParam))
				{
				case IDD_OBJECTSLIST:
					//switch (HIWORD (lParam))
					switch(HIWORD(wParam))
						{
						case LBN_SELCHANGE:
							EnableWindow(GetDlgItem(hDlg, addB), TRUE) ;
							return TRUE ;

						case LBN_DBLCLK:
							AddItem(hDlg) ;
							return TRUE ;
						}
					break ;

				case IDD_FIELDSLIST:
					switch (HIWORD (lParam))
						{
						case LBN_SELCHANGE:
							 EnableWindow (GetDlgItem(hDlg, removeB), TRUE) ;
							 //if (SendDlgItemMessage (hDlg, IDD_FIELDSLIST, LB_GETSELCOUNT, 0, 0L)==1)
							 if (ListBox_GetSelCount (GetDlgItem(hDlg, IDD_FIELDSLIST))==1)
								EnableWindow (GetDlgItem(hDlg, editB), TRUE) ;
                             else
								EnableWindow (GetDlgItem(hDlg, editB), FALSE) ;
							 return TRUE ;

						case LBN_DBLCLK:
							 Index = (int)ListBox_GetCurSel(GetDlgItem(hDlg, IDD_FIELDSLIST)) ;
							 theObj = (OBJECTID)ListBox_GetItemData(GetDlgItem (hDlg,IDD_FIELDSLIST), Index) ; 
							 //theObj =(OBJECTID) SendDlgItemMessage (hDlg, IDD_FIELDSLIST, LB_GETITEMDATA, Index, 0) ;
							 return (AObjEdit(theObj) == A_MODIFIED);
						}
					break ;

				case addB:
					AddItem(hDlg) ;
					//EnableWindow (GetDlgItem(hDlg, addB), FALSE) ;
					return TRUE ;

				case removeB:
					RemoveItem(hDlg) ;
					return TRUE ;

				case editB:
					EditItem(hDlg) ;
					return TRUE ;

				case IDOK:
					// save the File object's default extention
					// save the typeIDs for each object to be stored
					hobjGroup =(OBJECTID)GetWindowLong (hDlg, DWL_USER) ;
					saveObj (hDlg, hobjGroup) ;
					EndDialog (hDlg, TRUE) ;
					return TRUE ;

				case IDCANCEL:
					EndDialog (hDlg, FALSE) ;
					return TRUE ;

				case IDHELP:
					WinHelp (hDlg, "serhelp.hlp", HELP_CONTEXT, HELPID_OBJD_Grup) ;
                    return TRUE ;
				}
		}
	 return FALSE ;
	 }