Skip to content

Commit

Permalink
1. уточнение 4638.1: макрообласть для комбобокса - "Dialog".
Browse files Browse the repository at this point in the history
2. опубликован тип окна WTYPE_COMBOBOX. ACTL_GETWINDOWINFO в Id возвращает хэндл родительского диалога.
  • Loading branch information
zg0 committed May 8, 2016
1 parent c065cd9 commit ff09c96
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 6 deletions.
8 changes: 7 additions & 1 deletion far/changelog
@@ -1,4 +1,10 @@
drkns 08.05.2016 01:12:06 +0200 - build 4664
zg 08.05.2016 13:27:59 +0200 - build 4665

1. уточнение 4638.1: макрообласть для комбобокса - "Dialog".

2. опубликован тип окна WTYPE_COMBOBOX. ACTL_GETWINDOWINFO в Id возвращает хэндл родительского диалога.

drkns 08.05.2016 01:12:06 +0200 - build 4664

1. Уточнение 4663.2.

Expand Down
9 changes: 6 additions & 3 deletions far/plugapi.cpp
Expand Up @@ -494,7 +494,7 @@ intptr_t WINAPI apiAdvControl(const GUID* PluginId, ADVANCED_CONTROL_COMMANDS Co
case WTYPE_DIALOG:
case WTYPE_VMENU:
case WTYPE_HELP:
//case WTYPE_COMBOBOX:
case WTYPE_COMBOBOX:
//case WTYPE_FINDFOLDER:
//case WTYPE_GRABBER:
//case WTYPE_HMENU:
Expand Down Expand Up @@ -717,6 +717,9 @@ intptr_t WINAPI apiAdvControl(const GUID* PluginId, ADVANCED_CONTROL_COMMANDS Co
case WTYPE_DIALOG:
wi->Id=(intptr_t)f.get(); // BUGBUG
break;
case WTYPE_COMBOBOX:
wi->Id=(intptr_t)std::static_pointer_cast<VMenu>(f)->GetDialog(); // BUGBUG
break;
default:
wi->Id=0;
break;
Expand Down Expand Up @@ -2358,7 +2361,7 @@ BOOL WINAPI apiCopyToClipboard(enum FARCLIPBOARD_TYPE Type, const wchar_t *Data)

case FCT_COLUMN:
return SetClipboardVText(Data, Data? wcslen(Data) : 0);

default:
return FALSE;
}
Expand Down Expand Up @@ -2667,7 +2670,7 @@ intptr_t WINAPI apiFileFilterControl(HANDLE hHandle, FAR_FILE_FILTER_CONTROL_COM
default:
return FALSE;
}

Filter = new FileFilter(GetHostPanel(hHandle), (FAR_FILE_FILTER_TYPE)Param1);
*((HANDLE *)Param2) = (HANDLE)Filter;
return TRUE;
Expand Down
2 changes: 1 addition & 1 deletion far/plugin.hpp
Expand Up @@ -1364,8 +1364,8 @@ enum WINDOWINFO_TYPE
WTYPE_DIALOG = 4,
WTYPE_VMENU = 5,
WTYPE_HELP = 6,
WTYPE_COMBOBOX = 7,
#ifdef FAR_USE_INTERNALS
WTYPE_COMBOBOX,
WTYPE_FINDFOLDER,
WTYPE_GRABBER,
WTYPE_HMENU,
Expand Down
2 changes: 1 addition & 1 deletion far/vbuild.m4
@@ -1 +1 @@
m4_define(BUILD,4664)m4_dnl
m4_define(BUILD,4665)m4_dnl
7 changes: 7 additions & 0 deletions far/vmenu.cpp
Expand Up @@ -2852,6 +2852,13 @@ FarListItem *VMenu::MenuItem2FarList(const MenuItemEx *MItem, FarListItem *FItem
return nullptr;
}

FARMACROAREA VMenu::GetMacroArea() const
{
if (IsComboBox())
return MACROAREA_DIALOG;
return SimpleModal::GetMacroArea();
}

int VMenu::GetTypeAndName(string &strType, string &strName)
{
SCOPED_ACTION(CriticalSectionLock)(CS);
Expand Down
2 changes: 2 additions & 0 deletions far/vmenu.hpp
Expand Up @@ -189,6 +189,7 @@ class VMenu: public SimpleModal
virtual void Show() override;
virtual void Hide() override;
virtual string GetTitle() const override;
virtual FARMACROAREA GetMacroArea() const override;
virtual int GetTypeAndName(string &strType, string &strName) override;
virtual int GetType() const override { return CheckFlags(VMENU_COMBOBOX) ? windowtype_combobox : windowtype_menu; }
virtual int ProcessKey(const Manager::Key& Key) override;
Expand Down Expand Up @@ -263,6 +264,7 @@ class VMenu: public SimpleModal
void SetId(const GUID& Id);
const GUID& Id() const;
bool IsComboBox() const { return ParentDialog && CheckFlags(VMENU_COMBOBOX); }
Dialog *GetDialog() {return ParentDialog;}

template<class predicate>
void SortItems(predicate Pred, bool Reverse = false, int Offset = 0)
Expand Down

0 comments on commit ff09c96

Please sign in to comment.