IPCBIWindow Methods

Methods

AddPictureLayer(Bitmap, String, Boolean) Adds an PicuteLayer to the current ODB++ Job. Image will be cloned, please dispose yours.
AddPictureLayer(String, String, Boolean) Adds an PicuteLayer to the current ODB++ Job.
AddPictureLayer(String, String, Boolean, Boolean, Boolean) Adds an PicuteLayer to the current ODB++ Job.
AddUndoItem Add own undo item, this is added in the undo stack and will be handled if user clicks on undo or use shortcut Control+Z.
BanEditJobItems OBSOLETE: not used any more
CallHostChangeButton Change button check type.
CallHostChangeEnable Change enable for action item.
CallHostChangeVisible 
CleanUpSymbolDirectory Check all used odb symbols and clean symbol directory. This load all layer and check if there is a reference on an odb symbol.
ClearUndoBuffer Clear the inner undo buffer. This make it impossible to undo mirror/rotation and many more actions.
ClientToWorld Calculate client to world coordinates.
ClientToWorldD Calculate client to world coordinates.
CloseJob Close the current job! The project directory will be unloaded and all used RAM will be disposed. This is not necessary if you close a new project/job the RAM cleaning will be done as well.
CreateNewJobDirectory(String) Creates a new job directory and returns the right path (with SubFolder). The name is allways gerber_job. Existing folders are overwrited. ///
CreateNewJobDirectory(String, String, String) Creates a new job directory and returns the right path (with SubFolder). Existing folders are overwrited.
CreatePreviewImage(Size) Preview image is created from outline with drills. Simple without special pads and only one drill layer. The image will be created of the loaded job, if no job is loaded the return bitmap is black. It will use the current step for pcb outline and drills.
CreatePreviewImage(Size, Boolean, Boolean, String) Preview image is created from outline with drills. Simple without special pads and only one drill layer. The image will be created of the loaded job, if no job is loaded the return bitmap is black. It will use the current step for pcb outline and drills.
Dispose Dispose the IPCBIWindow!
FireOnJobLoadedEvent When a design is imported via a plugin, the plugin should call this function when the import is finished, to inform all other plugins and pcbi that the ddata is now complete Some plugins may then refill lists (e.g. with all components or nets)
FireRequestSetCursor Requests the change of the cursor for the main window
GenerateNetList Generate Net List with option to override existing nets and add components.
GetActiveMouseTool Returns the active mouse tool type
GetAllLoadedPlugIns Create a list of all loaded plugins with name of plugins as keys.
GetBoardHeight Get height of board (from attribute).
GetCurrentDrawSetting Get current draw setting without layers from this window.
GetCurrentPicture Creates a image of the visible area in the PCB-Investigator graphic pane.
GetCurrentRuleSets Load all settings for all available analysis plugins.
GetCurrentStep Return the current step, which is selected in PCB-I.
GetDrawingWindow Returns handle to the PCB-Investigator graphic pane
GetJobBounds Get the bounds of the job/profil.
GetJobInfo Get information of job, details of selection, components and repeats.
GetJobInformation Creates an class with all relevant job information.
GetJobName Get the name of the job, if it is loaded from zip/tgz the real name is given back not the temporary unpacked name.
GetJobPreviewImages Returns the Preview and Icon Image of the currently loaded design
GetLoadedDataFormat Returns the data format of the currently loaded data set
GetMatrix Gets the matrix from the Job.
GetMPNPackageList Return the MPNPackageList of the currently loaded design or null
GetNetMode Get the current net mode.
GetObjectCountToCopy Count elements in copy list for pasting later.
GetODBJobAnalysisResultDirectory 
GetODBJobDirectory Returns the full path of the job. Use toLowerInvariant() for compaires, because the path is like on HDD with big and small chars.
GetPlugInInstance Check for the type, if the type is loaded and a instance is created the plugin will be returned.
GetRuleSetting Load rules for PlugIn (Each plugin have his own container). Analsysis scripts are alle manged over scripting, if you change the Name from PCB-Investigator-Scripting to other name it do not find the analysis script settings again.
GetStandardRuleSets Ask all plugins for there standard rules and combine them in one rulesSet.
GetStep Return the Step with the choosen name or null if the name does not exist.
GetStepList Return a list with all used steps.
GetUnit The actual unit in PCB-Investigator window is mm.
GetVisibleArea This methode calculate the visible area in PCB-Investigator.
GetVisibleAreaD This methode calculate the visible area in PCB-Investigator.
GetZoom After you draw a picture (in IStep) you can get the zoom from the last plotted picture.
ImportRuleSets Import setting from xml file.
IsEditDialogOpen Returns true if the some Objects are in Edit mode
LoadData(String, IPCBIWindowLoadInformation) Load data from all available formats (depending on your license).
LoadData(String, Boolean) Load data from all available formats (depending on your license).
LoadData(String, IPCBIWindowLoadInformation, FormatTypes) Load data from all available formats (depending on your license).
LoadDataAsync Load data async from all available formats (depending on your license).
LoadDataAsync2(String) Load data async from all available formats (depending on your license).
LoadDataAsync2(String, Boolean) Load data async from all available formats (depending on your license).
LoadDataAsync2(String, Boolean, Boolean) Load data async from all available formats (depending on your license).
LoadDataFrom7ZStreamAsync(Stream) Load 7z data from stream e.g. use MemoryStream with 7z as byte[] included. You can use folowing code to try it out: using (FileStream dataStream = new FileStream(@"D:\Daten\odb.7z", FileMode.Open)) { MemoryStream memStream = new MemoryStream(); await dataStream.CopyToAsync(memStream); memStream.Seek(0, SeekOrigin.Begin); bool res = await window.LoadDataFrom7ZStreamAsync(memStream); }
LoadDataFrom7ZStreamAsync(Stream, ListFormatTypes) Load 7z data from stream e.g. use MemoryStream with 7z as byte[] included. You can use folowing code to try it out: using (FileStream dataStream = new FileStream(@"D:\Daten\odb.7z", FileMode.Open)) { MemoryStream memStream = new MemoryStream(); await dataStream.CopyToAsync(memStream); memStream.Seek(0, SeekOrigin.Begin); bool res = await window.LoadDataFrom7ZStreamAsync(memStream); }
LoadDataFromRARStreamAsync(Stream) Load rar data from stream e.g. use MemoryStream with rar as byte[] included. You can use folowing code to try it out: using (FileStream dataStream = new FileStream(@"D:\Daten\odb.rar", FileMode.Open)) { MemoryStream memStream = new MemoryStream(); await dataStream.CopyToAsync(memStream); memStream.Seek(0, SeekOrigin.Begin); bool res = await window.LoadDataFromRARStreamAsync(memStream); }
LoadDataFromRARStreamAsync(Stream, ListFormatTypes) Load rar data from stream e.g. use MemoryStream with rar as byte[] included. You can use folowing code to try it out: using (FileStream dataStream = new FileStream(@"D:\Daten\odb.rar", FileMode.Open)) { MemoryStream memStream = new MemoryStream(); await dataStream.CopyToAsync(memStream); memStream.Seek(0, SeekOrigin.Begin); bool res = await window.LoadDataFromRARStreamAsync(memStream); }
LoadDataFromTGZStreamAsync(Stream) Load tgz data from stream e.g. use MemoryStream.
LoadDataFromTGZStreamAsync(Stream, ListFormatTypes) Load tgz data from stream e.g. use MemoryStream.
LoadDataFromZipStreamAsync(Stream) Load zip data from stream e.g. use MemoryStream with zip as byte[] included. You can use folowing code to try it out: using (FileStream dataStream = new FileStream(@"D:\Daten\odb.zip", FileMode.Open)) { MemoryStream memStream = new MemoryStream(); await dataStream.CopyToAsync(memStream); memStream.Seek(0, SeekOrigin.Begin); bool res = await window.LoadDataFromZipStreamAsync(memStream); }
LoadDataFromZipStreamAsync(Stream, ListFormatTypes) Load zip data from stream e.g. use MemoryStream with zip as byte[] included. You can use folowing code to try it out: using (FileStream dataStream = new FileStream(@"D:\Daten\odb.zip", FileMode.Open)) { MemoryStream memStream = new MemoryStream(); await dataStream.CopyToAsync(memStream); memStream.Seek(0, SeekOrigin.Begin); bool res = await window.LoadDataFromZipStreamAsync(memStream); }
LoadODBJob(String) Read an ODB Job directory or ZIP/TGZ-ODB-Directory, returns false if the files not right or the path not right.
LoadODBJob(String, Boolean, Boolean) Read an ODB Job directory or ZIP/TGZ-ODB-Directory, returns false if the files not right or the path not right.
MouseToolDisabled Disable active mouse tool and change to default cursor (without selection, zoom...).
MouseToolEnabled Enable last mouse tool (it remembers last disable call).
OpenCAMInputAndSetListOfFiles Lists Gerber, Excellon and Sieb and Meyer Files in the CAM input.
OpenCAMInputWithFileFromDirectory Open CAM input and lists all Files on the window.
OpenChangeEdition Opens the dialog for changing edition licenses
OpenJobLibrary Opens the Job Library Dialog. If the "regID" is a registered Commend of an "IPluginOpenDesign" plugin, the corresponding Tabpage of the "IPluginOpenDesign" is initially shown.
OpenLicenceDialog Opens the dialog for adapting the licence
OpenPropertyOfComponent(ICMPObject) Show Component Properties from Component.
OpenPropertyOfComponent(InterfaceCMPObject) Show Component Properties from Component.
PasteOnLayer Paste the copyed items on the choosed layer.
Print Call print with last settings.
SaveDataInZipStreamAsync Save ODB++ data in zip stream. The memory stream can be corrupted if a error occurs (Check error log for this case).
SaveEmbedded This Methode save an embedded PCB-Investigator job in an directory.
SaveEmbeddedAsZIP(String) This Methode save an embedded PCB-Investigator job as ZIP file.
SaveEmbeddedAsZIP(String, String) This Methode save an embedded PCB-Investigator job as ZIP file.
SaveJob Save changes (only layers with changes).
SaveJob(String) Save Job in Directory.
SaveJob(String, Boolean) Save Job in Directory.
SaveJob(String, Boolean, String) Save Job in Directory with option to do it as zip compressed directory.
SaveJobAsync Save changes asynchronous (only layers with changes).
SaveJobImperative Save Job with all opened layers, attributes, nets and packages.
SaveRuleSettings Save rule settings for all analysis plugins.
SendMessage Send a message to other plugin with information what to do.
SetJobName Set name of job for misc file.
SetPrintingMargins Set Margins without print setup dialog.
SetRibbonMenu Set your own menu to PCB-Investigator, the xml file must be placed as memory stream.
SetRuleSetting Set rules for one plugin with the RulesContainer.
Show Shows the PCBI-Window. Notice: The first show initialize the controlls and clears the selection and put the view to default.
ShowAddFeatureDialog Open add feature dialog with specific layer name.
ShowAndCreatePackageDefinition Show dialog to create own package definitions or load them from your libraries.
ShowAndCreateSymbolDefinition Show dialog to create own standard tool definitions. It is possible to create all standard elements with this symbol dialog.
ShowAndGetPartDefinition Show dialog to create own part definitions or load them from your libraries.
ShowNotesDialog Show notes dialog for edit and switch between notes. This does not close the open dialog!
ShowNotesDialog(String, String) Show notes dialog for edit and switch between notes and initialize a new note. This does not close the open dialog!
ShowPackagePropertyDialog Shows a dialog with properties/attributes from the given IPackageSpecificsD
ShowSearchAndStartIt Show search dialog and start search with this values.
ShowStatusText Show the text in status bar. After 1 second it will be cleaned.
UpdateControlsAndResetView Update layer list, stepcontrol and zoom home. Important after working in other threads and add extra controls like tabpages or menus.
UpdateSelection fire change selection event
UpdateView If you use PCB-Investigator and control it from outside, then you have to update the view after each action.
WorldToClient(PointD) Calculate world to client coordinates.
WorldToClient(PointF) Calculate world to client coordinates.
ZoomHome ZoomHome set the view in PCB-Investigator to the main rectangle view.
ZoomProfile ZoomProfile set the view in PCB-Investigator to the profile bounds.
ZoomRect(RectangleD) ZoomRect set the view in PCB-Investigator to the rectangle (if the rectangle side ratio does not apply to the window size PCB-Investigator make the view bigger).
ZoomRect(RectangleF) ZoomRect set the view in PCB-Investigator to the rectangle (if the rectangle side ratio does not apply to the window size PCB-Investigator make the view bigger).
ZoomRect(RectangleD, Boolean) ZoomRect set the view in PCB-Investigator to the rectangle (if the rectangle side ratio does not apply to the window size PCB-Investigator make the view bigger).
ZoomToSelection Zoom to selected objects.
ZoomToSelection(Boolean) Zoom to selected objects.

Extension Methods

See Also