Vector35 / Vector35/binaryninja-api
Lots of public C++ UI API classes are not exposed to Python
Open
Nobody has claimed this yet.
Component: API
Component: UI
Effort: Low
Impact: Low
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Description
Version and Platform (required):
- Binary Ninja Version: 3.3.3992
- OS: macOS
- OS Version: 12.4
- CPU Architecture: M1
Bug Description:
There are a bunch of objects defined in public ui api headers, marked BINARYNINJAUIAPI, that are not exposed to python because they are missing from the shiboken type system xml file. Here's a list:
AddUserXrefDialog
AddressDialogWithPreview
BackgroundThread
ClickableStateLabel
CommandListDelegate
CreateStackVariableDialog
CrossReferenceContainer
CrossReferenceSidebarWidgetType
CustomFusionStyle
DataComparedTableItem
DockProperties
DockableTabCollection
FileOffsetDialogWithPreview
GetSymbolsListThread
GetTypesListThread
GraphLayoutCompleteEvent
IconImage
LogListFilterProxyModel
LogViewComboBox
MemoryMapItemDelegate
MemoryMapSidebarWidget
MemoryMapSidebarWidgetType
MergeVariableHeader
MergeVariableItemDelegate
MergeVariableListItem
MiniGraphSidebarWidgetType
PaneHeaderContainer
PaneHeaderFade
QCheckboxCombo
ScriptingCompletionModel
ScriptingCompletionPopup
SearchProgressBar
SearchResultFilterProxyModel
SearchResultItemDelegate
SearchResultModel
SearchResultTable
SearchResultWidget
SectionDialog
SectionWidget
SegmentDialog
SegmentWidget
StackView
StackViewSidebarWidget
StackViewSidebarWidgetType
StringsViewSidebarWidget
StringsViewSidebarWidgetType
SymbolsViewSidebarWidgetType
TabDragIndicator
TagListSidebarWidgetType
TextBrowser
TextBrowserDownloadCache
TypeDefinitionLinesAndFilterStatus
TypeFilter
TypeFilterEdit
TypeViewSidebarWidget
TypeViewSidebarWidgetType
UIBookmarkAction
VariableList
VariableListModel
VariableListSidebarWidgetType
ViewNavigationMode
ViewPaneHeader
ViewTypeContainer
WidgetPaneHeader
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Shiboken type system XML file and the public UI API headers containing the listed classes. Add the missing classes to the binding definitions, then verify that each listed class is exposed to Python.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- api, desktop-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100