def build_cocoa_bridging_interfaces(edition): print("Building Cocoa Bridging Interfaces") import objp.o2p import objp.p2o add_to_pythonpath('cocoa') add_to_pythonpath('cocoalib') from cocoa.inter import (PyGUIObject, GUIObjectView, PyColumns, ColumnsView, PyOutline, OutlineView, PySelectableList, SelectableListView, PyTable, TableView, PyBaseApp, PyFairware, PyTextField, ProgressWindowView, PyProgressWindow) from inter.deletion_options import PyDeletionOptions, DeletionOptionsView from inter.details_panel import PyDetailsPanel, DetailsPanelView from inter.directory_outline import PyDirectoryOutline, DirectoryOutlineView from inter.prioritize_dialog import PyPrioritizeDialog, PrioritizeDialogView from inter.prioritize_list import PyPrioritizeList, PrioritizeListView from inter.problem_dialog import PyProblemDialog from inter.ignore_list_dialog import PyIgnoreListDialog, IgnoreListDialogView from inter.result_table import PyResultTable, ResultTableView from inter.stats_label import PyStatsLabel, StatsLabelView from inter.app import PyDupeGuruBase, DupeGuruView appmod = importlib.import_module('inter.app_{}'.format(edition)) allclasses = [PyGUIObject, PyColumns, PyOutline, PySelectableList, PyTable, PyBaseApp, PyFairware, PyDetailsPanel, PyDirectoryOutline, PyPrioritizeDialog, PyPrioritizeList, PyProblemDialog, PyIgnoreListDialog, PyDeletionOptions, PyResultTable, PyStatsLabel, PyDupeGuruBase, PyTextField, PyProgressWindow, appmod.PyDupeGuru] for class_ in allclasses: objp.o2p.generate_objc_code(class_, 'cocoa/autogen', inherit=True) allclasses = [GUIObjectView, ColumnsView, OutlineView, SelectableListView, TableView, DetailsPanelView, DirectoryOutlineView, PrioritizeDialogView, PrioritizeListView, IgnoreListDialogView, DeletionOptionsView, ResultTableView, StatsLabelView, ProgressWindowView, DupeGuruView] clsspecs = [objp.o2p.spec_from_python_class(class_) for class_ in allclasses] objp.p2o.generate_python_proxy_code_from_clsspec(clsspecs, 'build/CocoaViews.m') build_cocoa_ext('CocoaViews', 'cocoa/inter', ['build/CocoaViews.m', 'build/ObjP.m'])
def build_cocoa_bridging_interfaces(): print("Building Cocoa Bridging Interfaces") import objp.o2p import objp.p2o add_to_pythonpath('cocoa') add_to_pythonpath('cocoalib') from cocoa.inter import (PyGUIObject, GUIObjectView, PyTable, TableView, PyColumns, ColumnsView, PyBaseApp, BaseAppView, PyTextField) from inter.app import PyPdfMasher, PdfMasherView from inter.build_pane import PyBuildPane from inter.edit_pane import PyEditPane, EditPaneView from inter.element_table import PyElementTable from inter.page_controller import PyPageController, PageControllerView from inter.page_repr import PyPageRepr, PageReprView allclasses = [ PyGUIObject, PyTable, PyColumns, PyBaseApp, PyTextField, PyPdfMasher, PyBuildPane, PyEditPane, PyElementTable, PyPageController, PyPageRepr ] for class_ in allclasses: objp.o2p.generate_objc_code(class_, 'cocoa/autogen', inherit=True) allclasses = [ GUIObjectView, TableView, ColumnsView, BaseAppView, EditPaneView, PageControllerView, PageReprView, PdfMasherView ] clsspecs = [ objp.o2p.spec_from_python_class(class_) for class_ in allclasses ] objp.p2o.generate_python_proxy_code_from_clsspec(clsspecs, 'build/CocoaViews.m') build_cocoa_ext('CocoaViews', 'cocoa/inter', ['build/CocoaViews.m', 'build/ObjP.m'])
def build_cocoa_proxy_module(): print("Building Cocoa Proxy") import objp.p2o objp.p2o.generate_python_proxy_code('cocoalib/cocoa/CocoaProxy.h', 'build/CocoaProxy.m') build_cocoa_ext("CocoaProxy", 'cocoalib/cocoa', ['cocoalib/cocoa/CocoaProxy.m', 'build/CocoaProxy.m', 'build/ObjP.m', 'cocoalib/HSErrorReportWindow.m', 'cocoa/autogen/HSErrorReportWindow_UI.m'], ['AppKit', 'CoreServices'], ['cocoalib', 'cocoa/autogen'])
def build_cocoa_bridging_interfaces(): print("Building Cocoa Bridging Interfaces") import objp.o2p import objp.p2o import objp.const add_to_pythonpath('cocoa') add_to_pythonpath('cocoalib') from cocoa.inter import (PyGUIObject, GUIObjectView, PyTextField, PyTable, TableView, PyColumns, ColumnsView, PyOutline, PySelectableList, SelectableListView, PyBaseApp, BaseAppView) # This createPool() business is a bit hacky, but upon importing mg_cocoa, we call # install_gettext_trans_under_cocoa() which uses proxy functions (and thus need an active # autorelease pool). If we don't do that, we get leak warnings. from cocoa import proxy proxy.createPool() from mg_cocoa import (PyPanel, PanelView, PyBaseView, PyTableWithDate, PyCompletableEdit, PyDateWidget, PyCSVImportOptions, CSVImportOptionsView, PyImportTable, PySplitTable, PyLookup, LookupView, PyDateRangeSelector, DateRangeSelectorView, PyImportWindow, ImportWindowView, PyFilterBar, FilterBarView, PyReport, ReportView, PyScheduleTable, PyBudgetTable, PyEntryTable, PyTransactionTable, PyGeneralLedgerTable, PyChart, ChartView, PyAccountPanel, PyMassEditionPanel, PyBudgetPanel, BudgetPanelView, PyCustomDateRangePanel, PyAccountReassignPanel, PyExportPanel, ExportPanelView, PyPanelWithTransaction, PanelWithTransactionView, PyTransactionPanel, PySchedulePanel, SchedulePanelView, BaseViewView, PyAccountSheetView, PyTransactionView, PyAccountView, AccountViewView, PyScheduleView, PyBudgetView, PyCashculatorView, PyGeneralLedgerView, PyDocPropsView, PyEmptyView, PyReadOnlyPluginView, PyMainWindow, MainWindowView, PyDocument, DocumentView, PyMoneyGuruApp) from mg_cocoa import PyPrintView, PySplitPrint, PyTransactionPrint, PyEntryPrint allclasses = [PyGUIObject, PyTextField, PyTable, PyColumns, PyOutline, PySelectableList, PyBaseApp, PyPanel, PyBaseView, PyTableWithDate, PyCompletableEdit, PyDateWidget, PyCSVImportOptions, PyImportTable, PySplitTable, PyLookup, PyDateRangeSelector, PyImportWindow, PyFilterBar, PyReport, PyScheduleTable, PyBudgetTable, PyEntryTable, PyTransactionTable, PyGeneralLedgerTable, PyChart, PyAccountPanel, PyMassEditionPanel, PyBudgetPanel, PyCustomDateRangePanel, PyAccountReassignPanel, PyExportPanel, PyPanelWithTransaction, PyTransactionPanel, PySchedulePanel, PyAccountSheetView, PyTransactionView, PyAccountView, PyScheduleView, PyBudgetView, PyCashculatorView, PyGeneralLedgerView, PyDocPropsView, PyEmptyView, PyReadOnlyPluginView, PyMainWindow, PyDocument, PyMoneyGuruApp] proxy.destroyPool() allclasses += [PyPrintView, PySplitPrint, PyTransactionPrint, PyEntryPrint] for class_ in allclasses: objp.o2p.generate_objc_code(class_, 'cocoa/autogen', inherit=True) allclasses = [GUIObjectView, TableView, ColumnsView, SelectableListView, BaseAppView, PanelView, CSVImportOptionsView, LookupView, DateRangeSelectorView, ImportWindowView, FilterBarView, ReportView, BudgetPanelView, ExportPanelView, PanelWithTransactionView, SchedulePanelView, BaseViewView, AccountViewView, MainWindowView, DocumentView, ChartView] clsspecs = [objp.o2p.spec_from_python_class(class_) for class_ in allclasses] objp.p2o.generate_python_proxy_code_from_clsspec(clsspecs, 'build/CocoaViews.m') py_folder = op.join(cocoa_app().resources, 'py') ensure_folder(py_folder) build_cocoa_ext('CocoaViews', py_folder, ['build/CocoaViews.m', 'build/ObjP.m']) import mg_const objp.const.generate_objc_code(mg_const, 'cocoa/autogen/PyConst.h')
def build_cocoa_proxy_module(): print("Building Cocoa Proxy") import objp.p2o objp.p2o.generate_python_proxy_code("cocoalib/cocoa/CocoaProxy.h", "build/CocoaProxy.m") build_cocoa_ext( "CocoaProxy", "cocoalib/cocoa", [ "cocoalib/cocoa/CocoaProxy.m", "build/CocoaProxy.m", "build/ObjP.m", "cocoalib/HSErrorReportWindow.m", "cocoa/autogen/HSErrorReportWindow_UI.m", ], ["AppKit", "CoreServices"], ["cocoalib", "cocoa/autogen"], )
def build_cocoa_bridging_interfaces(): print("Building Cocoa Bridging Interfaces") import objp.o2p import objp.p2o add_to_pythonpath('cocoa') add_to_pythonpath('cocoalib') from cocoa.inter import (PyGUIObject, GUIObjectView, PyTable, TableView, PyColumns, ColumnsView, PyBaseApp, BaseAppView, PyTextField) from inter.app import PyPdfMasher, PdfMasherView from inter.build_pane import PyBuildPane from inter.edit_pane import PyEditPane, EditPaneView from inter.element_table import PyElementTable from inter.page_controller import PyPageController, PageControllerView from inter.page_repr import PyPageRepr, PageReprView allclasses = [PyGUIObject, PyTable, PyColumns, PyBaseApp, PyTextField, PyPdfMasher, PyBuildPane, PyEditPane, PyElementTable, PyPageController, PyPageRepr] for class_ in allclasses: objp.o2p.generate_objc_code(class_, 'cocoa/autogen', inherit=True) allclasses = [GUIObjectView, TableView, ColumnsView, BaseAppView, EditPaneView, PageControllerView, PageReprView, PdfMasherView] clsspecs = [objp.o2p.spec_from_python_class(class_) for class_ in allclasses] objp.p2o.generate_python_proxy_code_from_clsspec(clsspecs, 'build/CocoaViews.m') build_cocoa_ext('CocoaViews', 'cocoa/inter', ['build/CocoaViews.m', 'build/ObjP.m'])
def build_cocoa_bridging_interfaces(): print("Building Cocoa Bridging Interfaces") import objp.o2p import objp.p2o import objp.const add_to_pythonpath('cocoa') add_to_pythonpath('cocoalib') from cocoa.inter import (PyGUIObject, GUIObjectView, PyTextField, PyTable, TableView, PyColumns, ColumnsView, PyOutline, PySelectableList, SelectableListView, PyBaseApp, BaseAppView) # This createPool() business is a bit hacky, but upon importing mg_cocoa, we call # install_gettext_trans_under_cocoa() which uses proxy functions (and thus need an active # autorelease pool). If we don't do that, we get leak warnings. from cocoa import proxy proxy.createPool() from mg_cocoa import ( PyPanel, PanelView, PyBaseView, PyTableWithDate, PyCompletableEdit, PyDateWidget, PyCSVImportOptions, CSVImportOptionsView, PyImportTable, PySplitTable, PyLookup, LookupView, PyDateRangeSelector, DateRangeSelectorView, PyImportWindow, ImportWindowView, PyFilterBar, FilterBarView, PyReport, ReportView, PyScheduleTable, PyBudgetTable, PyEntryTable, PyTransactionTable, PyGeneralLedgerTable, PyChart, ChartView, PyAccountPanel, PyMassEditionPanel, PyBudgetPanel, BudgetPanelView, PyCustomDateRangePanel, PyAccountReassignPanel, PyExportPanel, ExportPanelView, PyPanelWithTransaction, PanelWithTransactionView, PyTransactionPanel, PySchedulePanel, SchedulePanelView, BaseViewView, PyAccountSheetView, PyTransactionView, PyAccountView, AccountViewView, PyScheduleView, PyBudgetView, PyGeneralLedgerView, PyDocPropsView, PyPluginListView, PyEmptyView, PyReadOnlyPluginView, PyMainWindow, MainWindowView, PyDocument, DocumentView, PyMoneyGuruApp) from mg_cocoa import PyPrintView, PySplitPrint, PyTransactionPrint, PyEntryPrint allclasses = [ PyGUIObject, PyTextField, PyTable, PyColumns, PyOutline, PySelectableList, PyBaseApp, PyPanel, PyBaseView, PyTableWithDate, PyCompletableEdit, PyDateWidget, PyCSVImportOptions, PyImportTable, PySplitTable, PyLookup, PyDateRangeSelector, PyImportWindow, PyFilterBar, PyReport, PyScheduleTable, PyBudgetTable, PyEntryTable, PyTransactionTable, PyGeneralLedgerTable, PyChart, PyAccountPanel, PyMassEditionPanel, PyBudgetPanel, PyCustomDateRangePanel, PyAccountReassignPanel, PyExportPanel, PyPanelWithTransaction, PyTransactionPanel, PySchedulePanel, PyAccountSheetView, PyTransactionView, PyAccountView, PyScheduleView, PyBudgetView, PyGeneralLedgerView, PyDocPropsView, PyPluginListView, PyEmptyView, PyReadOnlyPluginView, PyMainWindow, PyDocument, PyMoneyGuruApp ] proxy.destroyPool() allclasses += [PyPrintView, PySplitPrint, PyTransactionPrint, PyEntryPrint] for class_ in allclasses: objp.o2p.generate_objc_code(class_, 'cocoa/autogen', inherit=True) allclasses = [ GUIObjectView, TableView, ColumnsView, SelectableListView, BaseAppView, PanelView, CSVImportOptionsView, LookupView, DateRangeSelectorView, ImportWindowView, FilterBarView, ReportView, BudgetPanelView, ExportPanelView, PanelWithTransactionView, SchedulePanelView, BaseViewView, AccountViewView, MainWindowView, DocumentView, ChartView ] clsspecs = [ objp.o2p.spec_from_python_class(class_) for class_ in allclasses ] objp.p2o.generate_python_proxy_code_from_clsspec(clsspecs, 'build/CocoaViews.m') py_folder = op.join(cocoa_app().resources, 'py') ensure_folder(py_folder) build_cocoa_ext('CocoaViews', py_folder, ['build/CocoaViews.m', 'build/ObjP.m']) import mg_const objp.const.generate_objc_code(mg_const, 'cocoa/autogen/PyConst.h')