Authoring Tools Framework 3.8 RELEASED - kaisu1986/ATF GitHub Wiki
æ¥æ¬èªèš³ã¯ãè±èªã«ç¶ãåŸåãã芧ãã ããã
The Authoring Tools Framework (ATF) 3.8 Release has many improvements and bug fixes, reflecting six months of work and client contributions. There are several major feature additions and some breaking changes. Please see below for details.
- Released as open source on GitHub on March 10, 2014, under the Apache 2.0 license.
- Integrated a huge amount of Windows Presentation Foundation (WPF) support from a client.
- Added a Skin Editor that allows you to edit the current skin and create new skin files. Try it out in the Timeline Editor sample app, by using the View -> Edit Skin command.
- Added a History Lister feature to visually display and manipulate the undo/redo stack. Try it out in the Circuit Editor sample app, by using the Window -> History command.
- The Circuit Editor now supports circuit template references to external files. See the context menu commands on the Template Lister.
- Improvements to property editing and the DomPropertyEditor sample app.
All of our sample apps appear to run correctly on Windows 8 and Windows 8.1. The only real issue that we are aware of is that the Direct2D performance has more variation when compared to Windows 7, and is generally worse, with Windows 8.1 performing better than 8 overall. We expect the performance to improve over time as newer drivers are released. Additionally, with ATF 3.8, weâve started seeing an intermittent failure of the automated functional tests where an automation service exception occurs and causes the test run to hang. This only applies to Windows 8/8.1, and all sample apps can be run manually with no issues.
- The following methods, properties, and types have been marked as obsolete in past releases of ATF and have been removed since ATF 3.7 was released internally to Sony Computer Entertainment, but before being released on GitHub. So this list of removed obsolete items does not affect any client on GitHub. (This list excludes items in the internal Legacy directory.)
- Sce.Atf.Selection â Removed Toggle(IEnumerable items). Use ToggleRange instead.
- Sce.Atf.VectorMath.Matrix3F â Removed the property M, as it was useless and simply returned 'this'.
- Sce.Atf.VectorMath.Matrix4F
- Removed GetTranslation(). Please use the Translation property instead.
- Removed the property M, as it was useless and simply returned 'this'.
- Sce.Atf.Applications.CommandInfo â Removed the property Shortcut. Use the property Shortcuts instead.
- Sce.Atf.Applications.ScriptingService â Removed SetObject() and RemoveObject(). Use SetVariable() and RemoveVariable() instead.
- Sce.Atf.Controls.Adaptable.Graphs.Annotation â Removed Synchronize(). This method was empty and did nothing.
- Sce.Atf.Controls.Adaptable.Graphs.Element â Removed Synchronize(). This method was empty and did nothing.
- Sce.Atf.Controls.Adaptable.Graphs.GroupPin â Removed Synchronize(). This method was empty and did nothing.
- Sce.Atf.Applications.AutoDocumentService â Removed the constructor that took a Form. Use IMainWindow instead.
- Sce.Atf.Applications.MainFormTitleService â Removed this class. Use MainWindowTitleService, which works against IMainWindow.
- Sce.Atf.Applications.ShoutOutputService â Moved this sample code to the ModelViewer sample app.
- Sce.Atf.Applications.PaletteService â Removed the constructor that takes a Form. Use IMainWindow instead.
- Sce.Atf.Applications.SettingsService â Removed the constructor that takes a Form. Use IMainWindow instead.
- Sce.Atf.Applications.StandardFileExitCommand â Removed the constructor that takes a Form. Use IMainWindow instead.
- Sce.Atf.Applications.UnhandledExceptionService â Removed the constructor that takes a Form. Use IMainWindow instead.
- Sce.Atf.Applications.SourceControlCommands â Removed the property CheckoutOnEdit. Use CheckoutOnEditBehavior instead.
- Sce.Atf.ChartUtil â Removed one of the DrawHorizontalScale() overloaded methods and one of the DrawVerticalScale() overloaded methods. Use a different overload and pass in 0.0f for the 'minimumGraphStep'.
- Sce.Atf.Controls.Adaptable.Graphs.D2dSubCircuitRenderer â Removed FloatingPinNodeHeight and FloatingPinNodeWidth. Use CircuitGroupPinInfo.FloatingPinBoxHeight and CircuitGroupPinInfo.FloatingPinBoxWidth instead.
- Sce.Atf.CustomFileDialog
- Removed InitialDirectory. This property had no effect. Please see ForcedInitialDirectory to make the dialog box open at a particular directory.
- Removed UserControl. This property was no longer supported.
- Sce.Atf.Controls.FloatInputControl â Removed TickFrequency. This property had no effect.
- Sce.Atf.Controls.IntInputControl â Removed TickFrequency. This property had no effect.
- Sce.Atf.Controls.Timelines.Direct2D.D2dTimelineControl â Removed GetBoundingRect() that has the 'events' parameter. This parameter has always been ignored; please use the GetBoundingRect() version with no parameters.
- Sce.Atf.Perforce.PerforceService â Removed the ShowErrors property. This property had no effect. Please see Sce.Atf.Outputs, OutputService, and ErrorDialogService for displaying errors and warnings.
- Most math classes, like Vec3F, have had their ToString() methods improved to work with European languages and to have more consistent behavior. The main problem was that in languages that use a â,â as a decimal point, then a â;â should be used to separate numbers in a list. Previously, a â,â was hard-coded to separate numbers in a list regardless of the current culture setting. Addresses https://github.com/SonyWWS/ATF/issues/5 .
- Added StringUtil.GetNumberListSeparator(IFormatProvider).
- FloatArrayConverter: now uses the appropriate number separator (e.g., ',' or ';') depending on the current culture.
- Past behavior: ToString() is not valid for European cultures for either persistence or GUI. In English, itâs valid for persistence and GUI. ToString(null, null) is same as ToString(). ToString(âGâ, englishCulture) is valid for GUIs in English. Parentheses are added. Float is converted to double prior to printing. ToString(âGâ, euroCulture) is not valid for GUIs anywhere. Parentheses are added. Float is converted to double prior to printing. ToString(âRâ, CultureInfo.InvariantCulture) is valid for persistence everywhere. Parentheses are added. Float is converted to double prior to printing.
- Current behavior: ToString() is valid for GUI in all cultures. In English, itâs valid for persistence and GUI. ToString(null, null) is the same as ToString(). ToString(âGâ, englishCulture) is valid for GUIs in English. ToString(âGâ, euroCulture) is valid for GUIs in Europe. ToString(âRâ, CultureInfo.InvariantCulture) is valid for persistence everywhere.
- Sce.Atf.Controls.Adaptable.Graphs.D2dGraphRenderer had a misspelled property. MaxiumEdgeThickness has been renamed to MaximumEdgeThickness.
- Removed Sce.Atf.Dom.Template's abstract Model property, and made the Target property abstract. Clients with derived classes can rename their 'Model' property to 'Target' to fix the compile error. The reason for this breaking change is because the Target and Model properties were the same thing, and so made the class unnecessarily complicated.
- PerforceService.RequestProcessed mistakenly had a setter and it has been removed. It has always been impossible for the caller to know if all Perforce requests have been processed since that knowledge has always been internal to PerforceService.
- The following breaking changes have been made to Sce.Atf.Controls.PropertyEditing.LongEnumEditor:
- By default, the user can no longer enter arbitrary text into the combo box. This behavior is probably what is most expected. To allow for arbitrary user input, set TextEditEnabled to true.
- Initialize(string[]) is now an explicit interface implementation, as it always should have been. Please use DefineEnum(string[]) instead.
- DropDownHeight has been removed. Please use MaxDropDownItems instead to specify the maximum height of the list of dropped down items.
- DefineEnum(string[] names, int[] values) has been removed because the âvaluesâ parameter was always ignored.
- The public static event EnumSelectionChanging has been removed because the client that requested it never used it and because the listener would only know the selected item, but not the LongEnumEditor object that was being edited, so we think this event is not generally useful enough.
- IFileDialogService calls now return a Sce.Atf.Applications.FileDialogResult instead of System.Windows.Forms.DialogResult, to remove the dependency on WinForms.
Open Source/Documentation
- Moved all ATF wiki documentation from SHIP to GitHub.
- Added Apache v2.0 license in License.txt and updated the copyright notices in the source code and test scripts.
- Removed code marked obsolete. See Breaking Changes for details.
- Changed the license and confidentiality text on our PDF documentation (and the source Word docs) to match our open source license. Updated the copyright text.
- Added GitHub's required README.md. *.md stands for Markdown wiki format, but it's still just a text file. It is based on our ReadMe.txt file but reflects the differences in the public repository structure.
- Put in an easy way to disable ATF usage logging for the public GitHub repository. We can use the PUBLIC pre-processing directive for these kinds of differences now.
- Removed ATFProgrammer_Guide_exported_from_wiki.pdf because 1) it's available publicly on GitHub, 2) it has formatting errors, 3) and it's really large.
- Removed links to SHIP from documentation.
- Removed the old Samples/LevelEditor directory and the ReadMe.txt file that it contained, that told people where to find LevelEditor. This just causes confusion to potential new clients.
- Updated the 'Supported Tools' section of ATF-GettingStarted.doc to say that .NET Framework 4 and C# 4 are required and VS2013 is supported.
- Improved comments and added missing comments for publicly visible types and members.
- Added ATF_API-Reference.chm file created by Sandcastle. Also added a project to build the chm for the ATF API.
Changes Imported from GitHub
- Removed redundant null check in Pair.cs. (lioncash)
- Fixed ToString() formatting for BezierCurve and Seg2F. (lioncash)
- Fixed an exception message within a DomNodePropertyMatch constructor. (lioncash)
- Fixed a bug with the Bounds property of circuit elements which caused the StandardLayoutCommands to not be able to align on the right or bottom sides correctly.
- Fixed a crash when adding wires in CreateTestCircuitProgrammatically() by ensuring group's pins are visible after the addition (by default they were hidden).
- Make CircuitValidator no longer require the adapted DomNode also support ReferenceValidator (CTE does not need ReferenceValidator because its wires are set up very differently and specially handled.)
- Added comments to the Circuit Editor's Editor class.
- Circuit templates: Fixed the bug that the original template UUID was not recovered if you demoted a template reference instance to a copy instance, then promoted to a reference instance again, which would fail to pop up the replacing or adding template dialog .
- Initial implementation of supporting circuit template folders that can reside in other documents:
- Added CategoryUniqueIdValidator to support local-unique ids, necessary since the template tree hierarchy now has mixed internal and external (imported from other document) nodes, where the node IDs in external documents may collide with the IDs of internal nodes
- DomNode: added SetTag()/GetTag() to tag nodes at runtime; need to investigate the dynamic (mutable) DOM attribute approach for the same purpose
- All reference instances to templates are resolved by document-agnostic GUIDs, and currently GUID-based resolving is done only in the circuit-customized reader and writer
- If a template folder is External it now displays a special icon to indicate the external nature.
- Template library external folder: some UI nuance handling for template lister to disallow moving around any item inside an external template folder; disallow cross-document moving ; disallow prompting items to an external folder directly, instead they are added to root folder if the selected folder is an external folder.
- Hovering over the external template folder shows the template file path.
- Added support to load/display/save files that have missing external templates; these missing templates are displayed with special style.
- Added resource package_error.png, to be used for a circuit element rendering that references a missing external template.
- Added a âRescan Template Documentsâ context-menu command in the Templates Lister to reload all referenced template documents in the Template Lister.
- Fixed a problem with output group pin initial index value setting in UpdateGroupPins. It was mistakenly using m_inputs.Count, it now correctly uses m_outputs.Count.
- Circuit element: Added InputPin(index) and OutputPin(index) helper methods.
- Circuit templates are now only editable in the document that owns the template.
- Fixed a problem where it wasn't possible to connect a referenced group pin to any other pins from the UI.
- Fixed a typo: GroupingCommands.DefaultPinOderStyle property was renamed to DefaultPinOrderStyle.
- ViewingContext.ConstrainBounds() fixed a crash when there are no layout constraints. (Creature Editor graph view does not have the usual grid adaptor.)
- CircuitEditingContext added 3 virtual protected methods: OnObjectInserted(), OnObjectRemoved(), OnObjectChanged(), so derived class can raise ItemInserted, ItemRemoved, ItemChanged events respectively.
- CircuitEditor: fixed a crash when creating a connection from an internal template sub-node to an external node.
- FSM Editor and StateChart editors: fixed a problem where a temporary wire was not visible, to indicate making a connection between elements.
- Circuit external templates: prune old templates at the end of "Rescan Template Documents" processing.
- Circuit Editor: added back now obsolete "typeRef" attribute (now replaced by "guidRef") for template type reference in schema file so we can read older circuit documents that have templates; added conversion code so the older version of circuit document will be saved in the new format.
- Fixed Circuit Editorâs alignment commands to work correctly with groups and elements. Fixed the three implementations of ILayoutContext that were ignoring the BoundsSpecified flags.
- Circuit groups: fixed a bug where the circuit group would get a little bit taller each time it was resized to be wider.
- Fixed a problem with node placement offset, by moving code that computes the y-range of floating pins from D2dSubgraphAdapter.GetBounds(items)to ViewingContext.GetBounds(). The former method is for selected items so it is not appropriate to always including y-range of all floating pins ; the latter is for all items, so it is appropriate to include when the the view is associated with a group editor.
- Circuit editor: fixed the cursor icon that displays when trying to create wires between elements in a group, in the expanded view.
- Fixed dangling wires crash caused by deleting nodes of an externally referenced template.
- GroupInstance and ModuleInstance: Added Input|OutputPin(index) overrides to handle missing types.
Direct2D
- Added D2DFactory.MeasureText to measure the width of a string drawn in a specified font.
- Cleaned up and added functionality to D2dGraphics.
- Adding support to render to a WIC renderTarget.
- Adding support for D2dGeometry and D2dGeometrySink.
- Add hit-testing methods for D2dGeometry.
- D2DFactory: Allow for the creation of a TextLayout using a transformation matrix.
- Added the D2dGeometry Bounds property.
- Fixed memory leak in D2dTextLayout and D2dTextFormat.
- In D2dTextFormat, use the correct FontHeight calculation.
- Improve handling of label and tip management to deal with long marker labels.
- D2dCircuitRenderer:
- Added properties for customizing element drawing: RoundedBorder, TitleBackgroundFilled, PinDrawStyle.
- Added protected virtual methods for custom element drawing: GetElementTitle and GetElementDisplayName.
- Fixed a crash when the brush associated with an element type is not a D2dLinearGradientBrush.
- Added the optional document registry parameter in its constructor, used to clear the element type cache when a document is removed.
- GetElementSizeInfo: Added optional title parameter to include customized title text size for element size computation
- ElementTypeInfo: Added Title field so if cached title is different the cached data will be invalidated to trigger the element size recalculation. Caching the title value is necessary because Creature Editor may have different titles for the same type of elements
- Modified the height calculation for expanded group rendering.
- Updated MousePick in DraggingContext getter of D2dGraphEdgeEditAdapter because derived classes may need to access the mouse hit record.
- D2dGraphEdgeEditAdapter: Added OverRouteCursor, FromPlaceCursor, ToPlaceCursor, and InadmissibleCursor for customizing edge editing cursors
- D2dGraphAdapter: Fixed a problem with the GetBounds() method that was causing the reported width and height to be scaled incorrectly.
Property Editing
- Added a new custom button called OverlayButton.
- PropertyGridView shows the reset button for the currently selected property.
- PropertyGrid now has a Reset All button.
- Refactored and added more functionality to PropertyEditingCommands. The context menu now has the following items:
- Copy Property
- Paste Property
- Reset Property
- Copy All
- Paste All
- Reset All
- ViewInTextEditor
- Fixed a one pixel off drawing error PropertyGridView.
- Removed OnPaint and OnBackColorChanged methods in PropertyEditingControl
- PropertyEditingControl: fixed a problem reported by a client (but that I couldn't reproduce) where if you clicked the drop-down button on a property (to show the custom editor) twice, then the second time the editor wouldn't show. The fix is safe, because in my tests m_dropDownForm.Visible was already false and the fix is to set it to false.
- PropertyGridView now handles arrow and tab keys.
- Enter key moves focus to the next input box for the following UITypeEditors:
- NumericTupleEditor
- NumericMatrixEditor
- ArrayEditor
- EmbeddedCollectionEditor:
- Fixed a bug where if an item were added and then removed within the same transaction, the two events would not cancel each other.
- If the ObservableContext did not raise an ItemInserted or ItemRemoved event in response to the user pressing the '+' or '-' buttons, then previously, the items could not be inserted or removed; but now, the list of items will always be updated.
- LongEnumEditor: Completely rewritten. Can now display images. The reset button will restore the property to its original value. The following breaking changes have been made:
- By default, the user can no longer enter arbitrary text into the combo box. This behavior is probably what is most expected. To allow for arbitrary user input, set TextEditEnabled to true.
- Initialize(string[]) is now an explicit interface implementation, as it always should have been. Please use DefineEnum(string[]) instead.
- DropDownHeight has been removed. Please use MaxDropDownItems instead to specify the maximum height of the list of dropped down items.
- This overload has been removed: public void DefineEnum(string[] names, int[] values) because the âvaluesâ parameter was always ignored.
- The public static event EnumSelectionChanging has been removed because the client that requested it never used it and because the listener would only know the selected item, but not the LongEnumEditor object that was being edited, so we think this event is not generally useful enough.
- NumericTextBox: On mouse click, selects the content of the input box in the property editor.
- DomPropertyEditor sample: Added a new "Level" property to the Orc and demonstrate displaying the enum value as an int or a string.
Skinning
- Bug fix: Toolbar button highlight and toggle status was broken when applying non-default skin.
- Fixed a few issues with CustomColorTable and specify more overrides in sample skin.
- Updated Dark.skn for more uniform skinning.
- Support skinning on all UITypeEditors.
- Disabled SetFont in PropertyView as it caused SkinService to throw an exception due to cloning a disposed font.
- Added FormNcRenderer to render the non-client area (title bar, form border, caption buttons, form icon, and title text).
- Added skinning support for the title bar, and added title bar skin to Dark.skn and Light.skn.
- Created SkinEditor and added support for the editor UI, saving and loading skins, property descriptors for skin style objects.
- Fixed a crash when the skin file setting is not set.
- Added ActiveSkinFile property to SkinningService. If this property is not null, launching the Skin Editor will auto-load this skin for editing.
- Removed the empty Classic.skn skin file.
- Fixed skinning issues with ColorPicker: initial colors were not set properly, and some radio button text was cropped.
- Changed the Brush used for drawing Text property of the TreeControl from SystemBrushes.WindowText to ItemRenderer.TextBrush so skins can be applied to it.
- SkinService: Disabled the Load and Revert commands when the skin editor is running, so that the skin editor is always editing the active skin and to avoid a more complicated user interface. Did a little bit of refactoring. The static internal 'Instance' property wasn't needed any more, so it was removed.
Source Control
- PerforceService.GetInfo() - if 'fstat' p4 command fails, do not attempt to print an error message if none have been provided.
- Updated the Perforce .NET libraries to address the Heartbleed bug. http://www.perforce.com/blog/140422/heartbleed-vulnerability-update-patched-perforce-clients-now-available
- PerforceService: addressed multi-thread access issues and did a lot of clean-up. Specifically:
- ConnectionManager: put in guards on the P4API.NET objects since they can only be accessed by one thread at a time.
- FileInfo: got rid of this "register request" idea because it added a lot of overhead in terms of code (requiring the PerforceRequestQueue class). The benefit that this feature provided was to always return "status unknown" if there was a pending Perforce server request for this file. I think it's OK to simply use the last known status in this situation.
- PerforceRequest: removed unused properties on this internal class.
- PerforceRequestQueue: removed this internal class entirely. It didn't seem to add necessary functionality.
- Rewrote the background thread to use an event triggering system rather than a 2-second polling system. The logic became simpler and I think the UI will be more responsive this way and the performance might be a bit better, too.
- Put in locks on the shared objects that are accessed by both the GUI thread and the worker thread.
- When there are multiple Perforce requests pending on the worker thread, they are now batched up, and then the Perforce server is queried for all of the related files at once. Previously, each pending request generated a separate query to the Perforce server. Querying the status of hundreds or thousands of files should be much more efficient now.
- PerforceService ConnectionManager now handles exceptions in ValidateConnection().
- Added Atf.Subversion project, which implements ISourceControlService using Subversion.
- Removed the old P4.Net \ThirdParty libraries. These have been replaced by P4API.Net since ATF 3.7.
- Documented below, in Appendix A: ATF 3.8 Release Notes WPF Supplement.
- ConsoleTextBox (used in the IronPython window, for example) can now process text containing multiple commands.
- Added an ATF logo and icon that we got from a graphic artist. The logo is now used in the Help -> About screen. The icon is used to represent the sample applications in the title bar and in the Windows taskbar.
- Added EnumerableUtil.ForEachWhileTrue to enumerate over a collection while a specified condition is true.
- Cartesian2dCanvas.cs: placed common code for drawing ticks into a private method.
- MathUtil: Fixed NullReferenceException in Clamp method when value parameter is null.
- Added HistoryLister, a visual list of the undo/redo stack. The user can click on the list to undo or redo a large number of commands. The maximum number of commands visible is a user-editable property. The default is 150, and the minimum is 10. Added this to several sample applications.
- ATF ThreadSafeProgressDialog - Handle the rare case of the parent dialog being disposed before the thread's Run() method finishes, by adding a check for m_parent.Owner == null in the "finally" block of the Run() method.
- Provided a Shell type drag drop interface to a drag drop action. Calling the right methods on a form makes it show the icons from the shell (so the images when you drag a file over explorer for example), but also allows you to attach your own image to a drag drop action when initiating a drag drop. (Used by Metrics.)
- DefaultTabCommands: fixed a problem where sub-document windows (like circuit group windows) could cause a crash, because the control's description was an illegal path name (e.g., "Untitled:Group").
- Most math classes, like Vec3F, have had their ToString() methods improved to work with European languages and to have more consistent behavior. The main problem was that in languages that use a â,â as a decimal point, then a â;â should be used to separate numbers in a list. Previously, a â,â was hard-coded to separate numbers in a list regardless of the current culture setting. Addresses https://github.com/SonyWWS/ATF/issues/5 . See Breaking Changes for more information about the behavior.
- Updated to SharpDX 2.5.0 Stable release.
- Reworded the recent HistoryLister's user preference text.
- Added ColorUtil.Lerp(), EnumerableUtil.IndexOf(), and a new AttributeUtils class to Atf.Core.
- Minor breaking change: Sce.Atf.Controls.Adaptable.Graphs.D2dGraphRenderer had a misspelled property. MaxiumEdgeThickness has been renamed to MaximumEdgeThickness.
- CustomColorTable: fixed four typos that were causing the wrong settable properties to be used in the non-settable properties.
- Removed Sce.Atf.Dom.Template's abstract Model property, and made the Target property abstract. Clients with derived classes can rename their 'Model' property to 'Target' to fix the compile error. The reason for this breaking change is because the Target and Model properties were the same thing, and so made the class unnecessarily complicated.
- Made some LINQ-related performance optimizations.
- Due to a recent change in PropertyEditingControl, the DrawingEditableValue getter is obsolete. It was always returning false. It is now marked as obsolete.
- Added KeyPressEventArgs and PreviewKeyDownEventArgs for Atf.Gui.Input.
- DefaultTabCommands: added a customization point so that clients can specify which docked Controls should have these commands ("Copy Full Path" and "Open Containing Folder") available on the tabs.
- In EnumerableUtil's IndexOf extension, use default equality comparer instead of throwing ArgumentNullException.
- Marked DevilImageLoader as obsolete and removed its usage from ImageLoaderRegistry because of memory corruption problems. We have other image loaders that handle all of the common image file formats. Made DdsCompressor use DdsImageLoader instead of DevilImageLoader.
- https://github.com/SonyWWS/ATF/issues/9
- Collada schema file: removed the !DOCTYPE element because it was causing a seemingly harmless (but annoying) XML exception in XmlSchemaTypeLoader.Load(string) related to "DTD processing" in the .NET XmlSchemaSet. I couldn't find a better fix. This was one of the more minor issues reported in https://github.com/SonyWWS/ATF/issues/9 .
- Updated the CodeEditor sample to make it use the UnhandledExceptionService component.
- Sce.Atf.Adaptation.Adapter: fixed a problem with GetDecorators() where the same object could be returned twice, if the Adaptee could be adapted to the same object as the Adapter. Added a unit test to demonstrate the problem and prove that the fix works. Corrected some comments relating to IDecoratable.
- DomNode: Made the Copy() method also copy the ChildInfo. Previously, the ChildInfo (which describes how the parent DomNode considers this current DomNode) would be null until the parent is set. This is OK for all nodes except the root DomNode, which requires a ChildInfo in order to be persisted. So now, root DomNodes can be persisted even if they are copies.
- ListViewAdapter: Fixed an exception "An item with the same key has already been added" if the same DomNode insertion was observed multiple times. This case was rare but possible.
- ColorPicker: made the error messages localizable.
- Added AutoScaleMode to ColorPicker so it scales with Font size.
- Updated namespace Sce.Atf.DragDrop to Sce.Atf to prevent conflicts with System.Windows namespace.
- Added TransactionReporter, a DomNodeAdapter that reports the final "cleaned-up" DOM changes that happen during a transaction, without duplicate attribute changes, for example.
- Added Sce.Atf.AssemblyBannerAttribute to allow specification of a banner image for an assembly.
- Added Atf.Gui.CustomizeAttribute (and derived Sce.Atf.Controls.PropertyEditing.PropertyView.CustomizeAttribute from it).
- Cloned Scea.Editors.Commands classes to Atf.Gui.Commands. Cloned classes are not related to their Scea counterparts.
- Added bool property DocumentClientInfo.AllowStandardFileCommands, providing the option to prevent any registered IDocumentClient from having standard file commands automatically added for its document type.
- Added RecentDocumentCommands.MaxPathLength.get, to enable paths displayed in the root file menu to be truncated.
- Fixed bug in WeifenLuo.WinFormsUI.Docking library, where dock panels with no icon specified, and were setting 'ShowIcon' to false, were displaying a Windows placeholder icon, when any dock panel was auto-hidden.
- Fixed exception in AutoHideStripBase when GetTabStripRectangle is called for a pane whose dock state is Unknown.
- Added DefaultExtension property to DocumentClientInfo. If the editor supports multiple extensions, setting the default extension will stop ATF from prompting the user to choose the extension, when creating a new file.
- DomNode: added a Copy(DomNode) method as a convenience.
- DomNode: made a subtle change that allows callers of GetLocalAttribute() to know whether an attribute is at its default value or was set to a value that happens to equal its default value. This change allows client code, such as in Santa Monica Studio's Creature Editor, from ATF 3.5 and earlier to use GetLocalAttribute() as they expected.
- Moved GetPhysicalMemoryMB() from AtfUsageLogger.cs to Kernel32.cs and changed its access level from private to public.
- WinFormsUtil: added UpdateBounds(), which will update a Rectangle given BoundsSpecified flags.
- Statechart Editor: fixed a long-standing problem with the location of child states that are pasted into their parent states.
- Initialize main form title with product name for sample apps (CircuitEditor, FsmEditor & StatechartEditor) to avoid blank title bar when no document is opened at app launch.
- UsingDirect2D sample app: Minor change to the info on the title bar, to make the text more readable. (Added a couple spaces and some periods.)
- Improved exception handling in legacy FileExplorer sample.
This section describes the changes made as part of the integration of ATG's WPF implementation into ATF 3.8. It is broken down by assembly. The changes to assemblies other than Atf.Gui.Wpf are non-breaking. (Breaking changes to those assemblies are described in the main ATF 3.8 release notes.) For Atf.Gui.Wpf, many of the modifications and deletions may be breaking changes for existing WPF applications, so please review them carefully. If this release has broken your code, please create an issue at https://github.com/SonyWWS/ATF/issues .
Atf.Core Added the following new classes:
- ArgParser: This replaces the one in Scea.Utilities, which has been marked Obsolete.
- IObservableCollection: Interface shorthand for observable collections. Combines IList, INotifyPropertyChanged, and INotifyCollectionChanged without adding any additional methods.
- PropertyChangedEventArgsCollection: Special collection for PropertyChangedEventArgs: ensures no matching args sets are added
- Adaptation\BindingAdapterObject: CustomTypeDescriptor object that adapts an IAdaptable object and provides a customized set of property descriptors for binding
- Dom\ObservableDomNodeAdapter: DomNodeAdapter that provides property change notifications
- Dom\ObservableDomNodeListAdapter: DomNodeListAdapter that provides property change notifications
- Dom\ObservableDomPropertyAttribute: Attribute used on properties of DomNodeAdapters derived from ObservableDomNodeAdapter. When placed on a property, the ObservableDomNodeAdapter will raise NotifyPropertyChanged events for this property when the corresponding attribute changes.
- AssemblyBannerAttribute: Attribute to allow specification of a banner image for an assembly
- EnumUtil: Static utility methods for working with enums
- ObservableUtil: Utilities to use strongly typed property changed notifications for INotifyPropertyChanged
- Applications\DirectoryWatcherService: Service to watch for changes to directories
- Applications\ICommandService: Interface for service that presents commands in menu and toolbar controls. Now works with WPF and WinForms apps.
- Applications\IDirectoryWatcherService: Interface for a service that watches for changes to files within a directory
- Applications\IHelpContext: Interface for data objects that provide context sensitive help via schema annotations
- Applications\ILastHitAware: Interface to keep track of the last item hit
- Applications\IMessageBoxService: Interface for displaying a message box without depending on the (WinForms/WPF) implementation details.
- Applications\Listers\FilteredTreeView: Wrapper for an ITreeView which provides filtering
- Applications\Listers\IndependentFilteredTreeView: Filtered tree view with an independent ISelectionContext from the wrapped TreeView
- Applications\MenuInfo: Container for menu information including Tag, Text and Description.
- Applications\SettingsServiceBase: Service that manages user editable settings (preferences) and app settings persistence
- Applications\VersionControl\SourceControlCommandsBase: Component that implements source control commands
- Collections\AdaptableObservableCollection: Wraps an IObservableCollection of one type to implement IObservableCollection of another type
- Collections\AdaptingCollection: Base class for collections that can sort or filter their contents, including FilteringCollection and OrderingCollection.
- Collections\CollectionChangedListener: Listens for specific property changes for all items within a collection
- Collections\LinkedListExtensions: Extension methods for LinkedList to find next and previous elements with a given value
- Collections\ObservableCollectionAdapter: Base class for AdaptableObservableCollection
- Collections\PriorityQueue: Queue of items sorted by priority
- Collections\ReferenceCollectionAdapter: Collection to adapt an observable collection of references to an observable collection of their reference targets
- Collections\SortedObservableCollection: Utility class for a sorted observable collection
- Dom\BindingAdapter: DomNodeAdapter which adds support for data binding to adapters obtained through the IAdaptable interface.
- Dom\DomNodeHelpAdapter: Adapts a DomNode to IHelpContext using schema annotation help keys
- Dom\DomNodeTypeExtensions: Extension methods for working with DomNodeType
- Dom\ListContext: Context for editing lists. Adds IInstancingContext, ILastHitAware, IObservableContext, and INotifyPropertyChanged to EditingContext
- Dom\ObservableCustomTypeDescriptorNodeAdapter: Node adapter to get PropertyDescriptors from NodeType and other metadata
- Models\AdapterViewModel: View model class that can adapt an adaptee and provide a bindable As property
- Models\CheckedTreeNode: View model for a tree node with a tri-state check box
Atf.Gui.WinForms Moved the following to the Atf.Gui assembly, but kept the same namespace:
- Applications\FileWatcherService
- Applications\IFileDialogService
- Applications\StandardFileCommands
Atf.Gui.Wpf Added:
- ColorUtil: Utility functions for working with colors
- DataContextSpy: Class used to enable ElementName and DataContext bindings on non-logical tree XAML items
- DebugUtils: Handy classes for debugging xaml bindings during execution
- FindFileResolver: Resolver that attempts to repair broken file system URIs with user assistance
- IMenu: Interface for CommandService menu items.
- IToolBar: Interface for CommandService toolbar items.
- ResourceUtil: Provides support for using WinForms-based resources like icons and cursors in a WPF app.
- Applications\AppearanceService: Component that manages skinning
- Applications\AutoDocumentService: Service that auto-loads a document at application startup
- Applications\CommandInfos: Extension methods for using Sce.Atf.Applications.CommandInfo with WPF applications
- Applications\FileDialogService: WPF implementation of Sce.Atf.Applications.IFileDialogService
- Applications\FIleSystemDataProvider: A DataSourceProvider which exposes a collection of ObservableFileInfo objects, representing the files in a particular directory. Changes made to the files in that directory are reflected at runtime.
- Applications\IProtocol: Interface for providing information about a protocol and interacting with targets connected via that protocol
- Applications\ITarget: Interface for getting target information such as name, protocol, and connection status
- Applications\ITargetDiscovery: Interface for discovery of targets by protocol
- Applications\ITargetService: Interface for target management
- Applications\ITransportLayer: Interface for transport layer communication
- Applications\Listers\ITemplatingContext: Interface for a prototyping context, which can present a tree view of its contents and create IDataObjects from them
- Applications\MessageBoxService: Shows a Sce.Atf.Wpf.WpfMessageBox, converting Sce.Atf.Applications.* types for buttons, images, and return types to the System.Windows.* types required by Sce.Atf.Wpf.WpfMessageBox.
- Applications\SettingsService: WPF implementation of ISettingsService to handle persistence of preferences and settings.
- Applications\StandardEditCommands: Created from Atf.Gui.WinForms.StandardEditCommands, but without using WinForms DataObject.
- Applications\SwitchToService: Service to handle control+tabbing between content
- Applications\SynchronizeInvoke: Wrapper class that implements ISynchronizeInvoke for WPF applications
- Applications\TargetService: Implementation of ITargetService for target management
- Applications\TcpIpProtocol: Implementation of IProtocol for TCP/IP target management
- Applications\TcpIpTarget: Implementation of ITarget for a TCP/IP target
- Applications\TcpIpTransport\*: Handles the actual communication to a TCP/IP target
- Applications\VersionControl\CheckInDialog: UI for checking files in to source control
- Applications\VersionControl\ReconcileDialog: UI for reconciling offline work
- Applications\WebServices\FeedbackForm: Form for submitting bug reports
- Applications\WebService\ProjectMappingAttribute: This attribute can be placed on an assembly (usually in the AssemblyInfo file) to indicate the identifier that is used for mapping to a SourceForge project for version checking and bug submission. (If this attribute is not present, the AssemblyTitle attribute is used instead.)
- Applications\WebServices\UserFeedbackService: Service that provides a UI for displaying and submitting a feedback\bug report form
- Applications\WebServices\VersionCheck: Utility to check to see if there is an update on SourceForge
- Applications\WebService\VersionUpdateService: Service that updates the application to the latest version on SHIP
- Behaviors\ActivateContextBehavior: Behavior to catch mouse down events and set ATF context registry active context to the current data context of the element
- Behaviors\ButtonPopupBehavior: Displays the associated context menu on a button click.
- Behaviors\ContextSensitiveToolbar: Toolbar behavior to display context sensitive information based on the current selection
- Behaviors\DataPiping: Dependency property management for DataPipes
- Behaviors\DialogButtonWorkaround: Attached property replacement for the standard Button.IsDefault to work around a bug in WPF detailed here: http:\\www.thomasclaudiushuber.com\blog\2008\05\02\lostfocus-textbox-vs-buttons-isdefault-property\
- Behaviors\EventToCommand: Invokes a command when a UI event trigger is activated.
- Behaviors\InstancingDropTargetBehavior: Drag and drop target that creates a new instance of the object on drop
- Behaviors\ItemsControlInsertionAdornerBehavior: Abstract base class for drawing insertion adorners on items controls, such as an insertion line for list controls or highlighting the drop target item on tree controls.
- Behaviors\ItemsControlSelectFirstBehavior: Automatically selects the first item in a list-based control (such as a ComboBox) when its ItemsSource changes.
- Behaviors\LastHitAwareBehavior: Behavior that keeps track of the last item that was clicked on or dragged over.
- Behaviors\ListBoxScrollToEndBehavior: Behavior to autoscroll newly added list items into view
- Behaviors\PasswordBoxBehavior: Behavior to handle the PasswordChanged event on a PasswordBox.
- Behaviors\RoutedTemplateSelector: A DataTemplateSelector which raises the bubbling TemplateRequested routed event on the templated element when a DataTemplate must be chosen.
- Behaviors\SelectorSelectionBehavior: Behavior to set the command that is executed when a selection changes.
- Behaviors\TextBoxNumericBehavior: Define behaviors for numeric entry in a TextBox, including minimum and maximum value and whether to allow integer or decimal numbers.
- Behaviors\TextBoxSelectAllBehavior: Behavior to select all text in a textbox when it receives focus
- Behaviors\ThemeStyleBehavior: Attached Property which allows a style which uses BasedOn="" to be re-based when the application theme is dynamically changed. Normally if the BasedOn property of a style is set, once the app is loaded, changing the target style will have no effect: the derived style will remain based to the original style.
- Collections\PriorityQuadTree: Collection of QuadNodes sorted by priority
- Controls\Adaptable\IViewAwareContext: Interface for contexts which are aware of the view bound to them
- Controls\BalancedWrapPanel: Positions child elements sequentially from left to right or top to bottom. When elements extend beyond the panel edge, elements are positioned in the next row or column.
- Controls\ClippingBorder: A border that clips its contents (from Microsoft)
- Controls\ConfirmationDialog: Displays a message with Yes\No\Cancel buttons.
- Controls\DirectoryPicker: A directory selection control for use in property editing.
- Controls\DomRecorderView: A user control that displays the DOM events recorded by Sce.Atf.Wpf.Dom.DomRecorder.
- Controls\EditTextBox: Text box that updates the data binding when the user hits return.
- Controls\FilePicker: A file selection control for use in property editing.
- Controls\FindFileDialog: Used with FindFileDialogViewModel and FindFileResolver to attempt to find missing files with user assistance.
- Controls\FindTargetsDialog: Scans for and displays a list of available targets.
- Controls\Icon: Icon class with options for image source, selected\deselected images, and shadows.
- Controls\WindowLayoutManageDialog: Dialog to manage window layouts
- Controls\PropertyEditing\StandardValuesConverter: A type converter which provides a set of standard values when queried. This can be used on a PropertyDescriptor to force property editors to see a set of standard values. e.g. a string based property can be made to act like an Enum property.
- Controls\PropertyEditing\ValueEditors\FilePathValueEditor: Custom property editor for editing file paths
- Controls\PropertyEditing\ValueEditors\FolderPathValueEditor: Data bound property editor that uses a template to edit a folder path
- Controls\PropertyEditing\ValueEditors\IStringValueFilter: Interface for filtering a string value
- Controls\PropertyEditing\ValueEditors\RangeSliderValueEditor: Slider property editor with a range of allowable values
- Controls\PropertyEditing\ValueEditors\StandardValuesEditor: Property editor for an enumerable list of values
- Controls\RangeBaseEx: Represents an element that has a value in a specific range. Adds extended information such as a default value, whether the value is logarithmic, and whether the value is currently being edited.
- Controls\RangeSlider: A slider control that allows selection of a range.
- Controls\RangeSliderBase: Base class for the RangeSlider that allows the range functionality to be turned on or off.
- Controls\SettingDialog: Dialog for viewing and editing user preferences.
- Controls\SettingsLoadSaveDialog: Dialog for importing and exporting user settings
- Controls\SizeBasedTemplateSelector: Selects a template from a list based on the display size
- Controls\SnappingBitmap: Bitmap that snaps to its parent
- Controls\SplitButton: A button which has drop down content
- Controls\StylableListView: A workaround for the issues with styling a standard WPF ListView described here: http:\\social.msdn.microsoft.com\Forums\en\wpf\thread\9cff5483-9608-4f33-98f3-a186de4fa306
- Controls\SwitchToDialog: Dialog used by SwitchToService to display available controls and allow Ctrl+Tabbing among them
- Controls\TargetDialog: Dialog for management of ITargets
- Controls\TcpIpTargetEditDialog: Dialog for editing details of a TCP/IP target
- Controls\TileView: Class representing a tiled layout view
- Controls\ToolBarItemTemplateSelector: Helper class to select a template for ToolBarItems
- Controls\TreeViewWithSelection: Tree view that adds the capabilities of ISelectionContext
- Controls\ValueChangedEventManager: A more robust event manager for PropertyDescriptor value changed events
- Controls\VirtualizingWrapPanel: Arranges and virtualizes content on a panel with wrapping
- Controls\WindowLayoutNewDialog: Dialog for editing the name of a new window layout
- Docking\ContentSettings: Contains properties related to dock settings for a given control
- Docking\DockContent: Class representing content to be docked in the docking framework
- Docking\DockedWindow: This class represents a window while it is docked into the hierarchy. It provides the title bar, close and collapse icons, and can be resized within the hierarchy.
- Docking\DockIcon: Class for the docking indicators that are displayed when the user is dragging a control to be docked
- Docking\DocklingsWindow: Transparent window that displays the DockIcons
- Docking\DockPanel: Root class that provides docking\undocking\collapsing windows and other things
- Docking\FloatingWindow: Window that contains undocked content
- Docking\GridLayout: Layout that lays its children horizontally or vertically separated with separators. Each child is a DockedWindow, or another GridLayout.
- Docking\IDockable: Interface used by every class that can accept and preview dock\drops
- Docking\IDockContent: IDockable content interface, every content that can be docked must implement this.
- Docking\IDockLayout: Interface implemented by every docking control host
- Docking\ResizablePopup: Resizable Popup that can be resized to one side depending on which side it is docked to
- Docking\SideBarButton: Button that works with the SidePopup
- Docking\SidePopup: Collapsible panel on the side of the docking window
- Docking\TabLayout: Docking container that represents its children as tabs
- Docking\Win32Calls: Utility class that wraps some Win32 interop
- DOM\DataContextAdapter: Utility class used to adapt FrameworkElement DataContext using ATF IAdaptable pattern
- DOM\DomRecorder: DOM recorder that records DOM events on the active context and displays them in a list.
- DOM\HelpAnnotations: Class for working with objects that provide context sensitive help via schema annotations
- Extensions\DispatcherExtensions: Provides a set of commonly used Dispatcher extension methods such as InvokeIfRequired
- Extensions\MiscExtensions: A set of miscellaneous extensions mostly related to showing dialogs.
- Extensions\TreeViewExtensions: Extensions for working with TreeViews, such as GetAllTreeViewItems
- Extensions\VIsualTreeExtensions: Extensions for working with a VisualTree
- Interop\KeysInterop: Static utility methods for converting among WinForms, WPF, and ATF key types
- Markup\CommandServiceExtension: XAML markup extension for working with CommandService
- Markup\EnumValuesExtension: XAML markup extension for working with enum values
- Markup\GenericExtension: XAML markup extension for working with generic types
- Markup\ResourceKeyBinding: XAML markup extension to provide data binding for a resource key
- Markup\TypeConverterExtension: XAML markup extension that converts between type names and Types for source and target types
- Models\AdaptableViewModelCollection: This class wraps an IObservableCollection of one type to implement IObservableCollection of another type. This class differs from AdaptableObservableCollection in that it always creates a complete new set of adapters for the underlying collection using the IAdapterCreator passed in to the constructor. This feature is useful for WPF MVVM situations where a collection must be adapted to a new collection of unique view models rather than shared view models.
- Models\ConfirmationDialogViewModel: Interaction logic for ConfirmationDialog. Adds a "No" button to the CommonDialog's standard Yes\Ok and Cancel buttons.
- Models\FindFileDialogViewModel: Interaction logic for the FindFileDialog that resolves missing files.
- Models\FindTargetsViewModel: Interaction logic for the Find Targets dialog
- Models\SettingsDialogViewModel: Interaction logic for the Settings dialog that displays and edits user preferences
- Models\SettingsLoadSaveViewModel: Interaction logic for the dialog that imports and exports user settings
- Models\ShowDialogEventArgs: Event args to allow decoupling of view models from dialogs. Rather than directly launching a dialog, a view model can provide an event subscribed to by the view using these event args.
- Models\TargetViewModel: Interaction logic for a Target
- Models\TargetDialogViewModel: Interaction logic for the target management dialog
- Models\TcpIpTargetEditDialogViewModel: Interaction logic for the dialog for editing details of a TCP/IP target
- Models\WindowLayoutNewViewModel: Interaction logic for new window layout naming dialog
- Models\ManageWindowLayoutsDialogViewModel: Interaction logic for the dialog that manages window layouts
- Resources\DockIcons.xaml: Icons used by the docking framework
- Resources\dialog_error, dialog_information, dialog_question, dialog_warning: Icons for use with message boxes
- Skins\ReferencedAssemblySkin: Information about a skin including a URI so it can be referenced from another assembly
- Skins\Skin: Abstract base class to assist with loading skin resources
- Themes: Added new styles for ClippingBorder, CommonDialog, DockPanel, DockedWindow, FilePicker, DirectoryPicker, FloatingWindow, RangeSlider, SideBarButton, SidePopup, SplitButton, TabLayout, and TileView.
- Value Converters\AdaptingValueConverter: Converter for converting back and forth between two IAdaptable types
- Value Converters\SimpleAdaptingValueConverter: Converter to convert one-way to an IAdaptable type
- Value Converters\AdaptingCollectionValueConverter: Converter to convert an IObservableCollection of one type to an IObservableCollection of another type using Iadaptable
- Value Converters\BoolVisibilityConverter: Value converter that sets an item's visibility based on its boolean value
- Value Converters\DomDataTemplateSelector: DataTemplateSelector for DomNodes which checks the type metadata for a data template tag
- Value Converters\InterfaceTemplateSelector: DataTemplateSelector that selects a template based on an interface instead of a concrete type.
- Value Converters\NullVisibilityConverter: Value converter that sets the item's visibility to Collapsed if the item is null
- Value Converters\TypeConverter: Converter to convert a type to another type
- CollectionUtil (replaced by VisualTreeExtensions)
- DispatcherUtil (replaced by DispatcherExtensions)
- TreeViewUtil (replaced by VisualTreeExtensions)
- VisualTreeUtil (replaced by VisualTreeExtensions)
- Interop\CommandServiceAdapter (not needed, unified ICommandService across platforms)
- Models\MenuItem (replaced by CommandItem)
- Models\MenuItemBase (not needed, CommandItem replaces MenuItem)
- Models\MenuUtil (replaced by MainMenuViewModel)
- Models\ToolBarTrayBinder (removed due to incompatible IMenu type)
- ObservableUtil
- Applications\ICommandService
- Applications\IHelpContext
- Applications\MenuInfo
- Models\AdapterViewModel
- Applications\CommandService: Now implements the common Sce.Atf.Applications.ICommandService.
- Applications\ControlHostService: Now takes a Sce.Atf.Applications.IMainWindow instead of Sce.Atf.Wpf.Interop.MainWindowAdapter.
- Applications\EditLabelCommand: CanDoCommand and DoCommand now expect Sce.Atf.Wpf.Applications.EditLabelCommand.Commands instead of ICommandItem.
- Applications\HelpCommands: CanDoCommand and DoCommand now expect Sce.Atf.Wpf.Applications.HelpCommands.Commands instead of ICommandItem. ContextMenuHelpTag is also still acceptable.
- Applications\ICommandItem: Removed InputGestures and MenuPath, added Shortcuts and Index.
- Applications\IThumbnailResolver: Now takes a ThumbnailParameters instead of a Uri.
- Applications\ThumbnailService: ResolveThumbnail and ResolveThumbnailBlocking now take a ThumbnailParameters instead of a Uri.
- Behaviors\ AtfTreeViewBehavior: relocated property bindings, from xaml style definitions to code, to prevent binding from being attempted before data context has been hooked up.
- Behaviors\GridViewColumnHeaderBehavior: Fixed typo SetIsDClickable to SetIsClickable.
- Behaviors\ItemsControlDropTargetBehavior: OnDragOver, if the dragged item can't be inserted, clear out the drag icon effect(so that the 'not permitted' icon is shown)
- Controls\FormattingTextBox: Value property is now type string instead of object.
- Controls\MainWindow.xaml: No longer implements IPartImportsSatisfiedNotification.
- Controls\PropertyEditing\IPropertyFactory: CreateProperty now takes an ITransactionContext instead of a FrameworkElement.
- Controls\PropertyEditing\PropertyGrid: added properties for customizing a PropertyGrid's ListBoxItemsPanel template, and its ListBoxItemContainer style.
- Controls\PropertyEditing\PropertyNode
- Removed the ctor with many parameters. Set these via the properties instead.
- Removed the Owner property.
- Controls\PropertyEditing\TransactionPropertyNode: Removed the ctor with many parameters.
- Controls\PropertyEditing\ValueEditors\ValueEditor: Added a DependencyObject parameter to GetTemplate and GetStyle. This also affects MultiLineTextEditor and SliderEditor.
- Models\DialogViewModelBase: Changed CanOk to CanExecuteOk.
- Models\MainMenuViewModel
- Removed ctor that takes ICommandService.
- The Menus property is now of type IEnumerable instead of ObservableCollection.
- Models\ToolBarViewModel
- Removed ctor that takes ICommandService.
- The ToolBars property is now of type IToolBar[] instead of ObservableCollection.
- Models\TreeViewModel
- Converted m_itemToNodeMap from a Dictionary to a Multimap, as it is in Atf.Gui.WinForms.TreeViewAdapter. TreeViewModel.GetNode() retains its signature, however it calls new method IEnumerable GetNodes(object), and returns first or default.
- Tree nodes given 'hover text' property, for specifying the string displayed when mouse is hovered over the node in the tree presentation.
- Made Node.ItemInfo public, and added OnNodeInfoUpdated(Node), called after every call to IItemInfo.GetInfo(). Allows client code to further modify Node.ItemInfo, before the node itself handles the changes.
- Sce.Atf.Wpf.WpfImageResourceAttribute has been marked obsolete. Please use Sce.Atf.ImageResourceAttribute instead.
- Sce.Atf.Wpf.WpfResourceUtil has been marked obsolete. Please use Sce.Atf.Wpf.ResourceUtil instead.
- Enabled ItemInfo.FontStyle to affect the default WPF TreeViewItem label font.
- Added unit tests for TreeViewModel, and fixed errors revealed by the tests.
Updated WinGui samples:
- Improved separation of WinForms from WPF.
- Enhanced WpfApp to use some of the new WPF functionality. Added some sample data and a viewing pane that tracks the active documentâs current selection.
Authoring Tools Framework (ATF) 3.8 ãªãªãŒã¹ã«ã¯ã6 ã¶æéã®äœæ¥ãšã¯ã©ã€ã¢ã³ãããã®ååã«ãããå€ãã®æ¹è¯ããã³ãã°ä¿®æ£ãå«ãŸããŠããŸãã æ°ä»¶ã®äž»èŠãªæ©èœè¿œå ããã³äºææ§ã«åœ±é¿ã®ãã倿Žç¹ãå«ãŸããŸãã 詳现ã¯ã以äžãåç §ããŠãã ããã
- 2014 幎 3 æ 10 æ¥ã«ãGitHub ã§ãªãŒãã³ãœãŒã¹ãšããŠãªãªãŒã¹ãApache 2.0 ã©ã€ã»ã³ã¹ã«æºæ ããŸãã
- Windows Presentation Foundation (WPF) ã®å¯Ÿå¿ãã¯ã©ã€ã¢ã³ãããå€§å¹ ã«çµ±åã
- Skin Editor ã远å ãããã«ããçŸåšã®ã¹ãã³ãç·šéããæ°èŠã®ã¹ãã³ãã¡ã€ã«ãäœæã§ããŸãã Timeline Editor ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã䜿ãã[衚瀺] > [ã¹ãã³ãç·šé] ã³ãã³ãããã詊ããã ããã
- å±¥æŽè¡šç€ºæ©èœã远å ãå ã«æ»ã/ããçŽãã®ã¹ã¿ãã¯ã®ãèŠèŠçãªè¡šç€ºãšæäœãå¯èœã«ãªããŸããã Circuit Editor ã®ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã䜿ãã[ãŠã£ã³ããŠ] > [History] ã³ãã³ãããã詊ããã ããã
- Circuit Editor ããå€éšãã¡ã€ã«ã®åè·¯ãã³ãã¬ãŒãã®åç §ã«å¯Ÿå¿ã[ãã³ãã¬ãŒã] ã¿ãã®ã³ã³ããã¹ãã¡ãã¥ãŒã³ãã³ãã§ã確èªãã ããã
- ããããã£ç·šéããã³ DomPropertyEditor ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ãæ¹è¯ã
ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã¯ãã¹ãŠãWindows 8 ããã³ Windows 8.1 äžã§æ£åžžã«åäœããŸããå¯äžãDirect2D ã®ããã©ãŒãã³ã¹ã Windows 7 äžã«æ¯ã¹ãŠå€§æµã®å Žåé ããã°ãã€ãããããšããåé¡ç¹ããããŸããWindows 8 ã«æ¯ã¹ããš Windows 8.1 äžã®æ¹ããå šäœçã«ããããã©ãŒãã³ã¹ãåºãŠããŸããããã¯ãæ°ãããã©ã€ããŒã®ãªãªãŒã¹ãéããã«ãããããæ¹åããŠè¡ãããšãæåŸ ãããŸãããŸã ATF 3.8 ã§ã¯ãèªååãããæ©èœãã¹ãã«æç¶çãªãšã©ãŒãèµ·ããããã«ãªããŸãããèªååãµãŒãã¹ã®äŸå€ãçºçãããã¹ãã®å®è¡ããã³ã°ããŸãã ãã®åé¡ã¯ Windows 8 ããã³ 8.1 ã§ã®ã¿çºçããŸãããµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã¯ãã¹ãŠãæåã§åé¡ãªãå®è¡ã§ããŸãã
- 以äžã®ã¡ãœãããããããã£ãããã³åã¯ã以åã® ATF ãªãªãŒã¹ã§æ¢ã«å»æ¢ãããŠããããœããŒã»ã³ã³ãã¥ãŒã¿ãšã³ã¿ãã€ã³ã¡ã³ã瀟å
åãã«ãªãªãŒã¹ããã ATF 3.7 以éãããã³ GitHub ã§ã®ãªãªãŒã¹ä»¥åã«åé€ãããŠããŸããGitHub ã®ãŠãŒã¶ãŒã«ã¯ã以äžã«ç€ºãå逿žã¿ã®å»æ¢é
ç®ã®åœ±é¿ã¯ãããŸããããªãããã®äžèЧã«ã¯ãå
éš Legacy ãã£ã¬ã¯ããªã®é
ç®ã¯å«ã¿ãŸããã
- Sce.Atf.Selection â Toggle(IEnumerable ã®é ç®) ãåé€ã 代ããã« ToggleRange ã䜿çšããŠãã ããã
- Sce.Atf.VectorMath.Matrix3F â çšéããªãçŸåšã®ãªããžã§ã¯ããthisããè¿ãã®ã¿ã ã£ããããã㣠M ãåé€ã
- Sce.Atf.VectorMath.Matrix4F
- GetTranslation() ãåé€ã 代ããã« Translation ããããã£ã䜿çšããŠãã ããã
- Sce.Atf.VectorMath.Matrix3F â çšéããªãçŸåšã®ãªããžã§ã¯ãã§ãããthisããè¿ãã®ã¿ã ã£ããããã㣠M ãåé€ã
- Sce.Atf.Applications.CommandInfo â Shortcut ããããã£ãåé€ã 代ããã« Shortcuts ããããã£ã䜿çšããŠãã ããã
- Sce.Atf.Applications.ScriptingService â SetObject() ããã³ RemoveObject() ãåé€ã 代ããã« SetVariable() ããã³ RemoveVariable() ã䜿çšããŠãã ããã
- Sce.Atf.Controls.Adaptable.Graphs.Annotation â Synchronize() ãåé€ã ãã®ã¡ãœããã¯ç©ºã§çšéããããŸããã§ããã
- Sce.Atf.Controls.Adaptable.Graphs.Element â Synchronize() ãåé€ã ãã®ã¡ãœããã¯ç©ºã§çšéããããŸããã§ããã
- Sce.Atf.Controls.Adaptable.Graphs.GroupPin â Synchronize() ãåé€ã ãã®ã¡ãœããã¯ç©ºã§çšéããããŸããã§ããã
- Sce.Atf.Applications.AutoDocumentService â Form ãåãã³ã³ã¹ãã©ã¯ã¿ãŒãåé€ã 代ããã« IMainWindow ã䜿çšããŠãã ããã
- Sce.Atf.Applications.MainFormTitleService â ãã®ã¯ã©ã¹ãåé€ã IMainWindow ã§äœ¿çšã§ãã MainWindowTitleService ã䜿çšããŠãã ããã
- Sce.Atf.Applications.ShoutOutputService â ãã®ãµã³ãã«ã³ãŒãã ModelViewer ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã«ç§»åã
- Sce.Atf.Applications.PaletteService â Form ãåãã³ã³ã¹ãã©ã¯ã¿ãŒãåé€ã 代ããã« IMainWindow ã䜿çšããŠãã ããã
- Sce.Atf.Applications.SettingsService â Form ãåãã³ã³ã¹ãã©ã¯ã¿ãŒãåé€ã 代ããã« IMainWindow ã䜿çšããŠãã ããã
- Sce.Atf.Applications.StandardFileExitCommand â Form ãåãã³ã³ã¹ãã©ã¯ã¿ãŒãåé€ã 代ããã« IMainWindow ã䜿çšããŠãã ããã
- Sce.Atf.Applications.UnhandledExceptionService â Form ãåãã³ã³ã¹ãã©ã¯ã¿ãŒãåé€ã 代ããã« IMainWindow ã䜿çšããŠãã ããã
- Sce.Atf.Applications.SourceControlCommands â CheckoutOnEdit ããããã£ãåé€ã 代ããã« CheckoutOnEditBehavior ã䜿çšããŠãã ããã
- Sce.Atf.ChartUtil â DrawHorizontalScale() ãªãŒããŒããŒãã¡ãœããã® 1 ã€ããã³ DrawVerticalScale() ãªãŒããŒããŒãã¡ãœããã® 1 ã€ãåé€ã ç°ãªããªãŒããŒããŒãã䜿çšããminimumGraphStep ã« 0.0f ãæž¡ããŠãã ããã
- Sce.Atf.Controls.Adaptable.Graphs.D2dSubCircuitRenderer â FloatingPinNodeHeight ããã³ FloatingPinNodeWidth ãåé€ã 代ããã« CircuitGroupPinInfo.FloatingPinBoxHeight ããã³ CircuitGroupPinInfo.FloatingPinBoxWidth ã䜿çšããŠãã ããã
- Sce.Atf.CustomFileDialog
- InitialDirectory ãåé€ã ãã®ããããã£ã¯ç¡å¹ã§ããã ç¹å®ã®ãã£ã¬ã¯ããªã§ãã€ã¢ãã°ããã¯ã¹ãéãã«ã¯ãForcedInitialDirectory ãã芧ãã ããã
- UserControl ãåé€ã ãã®ããããã£ãžã®ãµããŒããçµäºããŸããã
- Sce.Atf.Controls.FloatInputControl â TickFrequency ãåé€ã ãã®ããããã£ã¯ç¡å¹ã§ããã
- Sce.Atf.Controls.IntInputControl â TickFrequency ãåé€ã ãã®ããããã£ã¯ç¡å¹ã§ããã
- Sce.Atf.Controls.Timelines.Direct2D.D2dTimelineControl â events ãã©ã¡ãŒã¿ãŒãæã€ GetBoundingRect() ãåé€ã ãã®ãã©ã¡ãŒã¿ãŒã¯åžžã«ç¡èŠãããŠããŸããããã©ã¡ãŒã¿ãŒã®ãªã GetBoundingRect() ã䜿çšããŠãã ããã
- Sce.Atf.Perforce.PerforceService â ShowErrors ããããã£ãåé€ã ãã®ããããã£ã¯ç¡å¹ã§ããã ãšã©ãŒãèŠåã®è¡šç€ºã¯ãSce.Atf.OutputsãOutputService ããã³ ErrorDialogService ãã芧ãã ããã
- Vec3F ãªã©ã®ã»ãšãã©ã® math ã¯ã©ã¹ã«ãã㊠ToString() ã¡ãœãããæ¹åããããšãŒãããèšèªã§ã®äœ¿çšãå¯èœã«ãªããæ¯ãèãã®äžè²«æ§ãé«ãŸããŸãããå°æ°ç¹ãšããŠã³ã³ã (,) ã䜿çšããèšèªã§ã¯ããªã¹ãã®æ°åã¯ã»ãã³ãã³ (;) ã§åºåããªããã°ãªããªããšãããã以åã®ããŒãžã§ã³ã§ã¯ãçŸåšã®æååã®èšå®ã«é¢ããããæ°åã®åºåãã«ã³ã³ã (,) ãããŒãã³ãŒããããŠãããšããåé¡ããããŸããã詳现ã¯ãhttps://github.com/SonyWWS/ATF/issues/5 ãåç
§ããŠãã ããã
- StringUtil.GetNumberListSeparator(IFormatProvider) ã远å ã
- FloatArrayConverter: çŸåšã®æååã®èšå®ã«åºã¥ããŠãæ°åã®åºåãæåãšããŠãã³ã³ã (,) ãããã¯ã»ãã³ãã³ (;) ã®é©åãªæ¹ã䜿çšããããã«å€æŽã
- 以åã®æ¯ãèã: ToString() ã¯ãšãŒãããæååã§ã®æ°žç¶åã GUI ã«ã¯ç¡å¹ã§ããã è±èªåã§ã¯æ°žç¶åã GUI ã§æå¹ã§ãã ToString(null, null) 㯠ToString() ãšåãã§ãã ToString(âGâ, englishCulture) ã¯è±èªã® GUI ã§æå¹ã§ãã ãã£ãã远å ãããŸãã æµ®åå°æ°ç¹æ°ã¯åºååã«å粟床浮åå°æ°ç¹ã«å€æãããŸãã ToString(âGâ, euroCulture) ã¯ã©ã®æååã® GUI ã§ãç¡å¹ã§ãã ãã£ãã远å ãããŸãã æµ®åå°æ°ç¹æ°ã¯åºååã«å粟床浮åå°æ°ç¹ã«å€æãããŸãã ToString(âRâ, CultureInfo.InvariantCulture) ã¯ã©ã®æååã®æ°žç¶åã§ãæå¹ã§ãã ãã£ãã远å ãããŸãã æµ®åå°æ°ç¹æ°ã¯åºååã«å粟床浮åå°æ°ç¹ã«å€æãããŸãã
- çŸåšã®æ¯ãèã: ToString() ã¯ãã¹ãŠã®æååã® GUI ã§æå¹ã§ãã è±èªåã§ã¯æ°žç¶åã GUI ã§æå¹ã§ãã ToString(null, null) 㯠ToString() ãšåãã§ãã ToString(âGâ, englishCulture) ã¯è±èªã® GUI ã§æå¹ã§ãã ToString(âGâ, euroCulture) ã¯ãšãŒãããèšèªã® GUI ã§æå¹ã§ãã ToString(âRâ, CultureInfo.InvariantCulture) ã¯ã©ã®æååã®æ°žç¶åã§ãæå¹ã§ãã
- Sce.Atf.Controls.Adaptable.Graphs.D2dGraphRenderer ã®ããããã£ã«ã¹ãã«ãã¹ããããŸããã MaxiumEdgeThickness ãšããããããã£åã MaximumEdgeThickness ã«å€æŽããŸããã
- Sce.Atf.Dom.Template ã® æœè±¡ Model ããããã£ãåé€ããTarget ããããã£ãæœè±¡ããããã£ã«å€æŽã 掟çã¯ã©ã¹ã䜿çšããã¯ã©ã€ã¢ã³ãã¯ãModel ããããã£ã Target ããããã£ã«å€æŽããããšã«ãããã³ã³ãã€ã«ãšã©ãŒãè§£æ¶ããŸãã Target ããããã£ãš Model ããããã£ã¯åããã®ã§ãããã¯ã©ã¹ãäžå¿ èŠã«è€éã«ãªã£ãããããã®äºææ§ã«åœ±é¿ã®ãã倿Žãè¡ããŸããã
- PerforceService.RequestProcessed ã«èª€ã£ãŠå«ãŸããŠããã»ãã¿ãŒãåé€ã Perforce ãªã¯ãšã¹ãããã¹ãŠåŠçããããã©ããã¯ãPerforceService å éšã®æ å ±ã§ãããããåŒã³åºãå ããã®ç¢ºèªãäžå¯èœã§ããã
- Sce.Atf.Controls.PropertyEditing.LongEnumEditor ã«ä»¥äžã®äºææ§ã«åœ±é¿ã®ãã倿Žã远å ãããŸããã
- ããã©ã«ãã§ã¯ããŠãŒã¶ãŒã«ããã³ã³ãããã¯ã¹ãžã®ä»»æã®ããã¹ãå ¥åãäžå¯èœã«ãªããŸããã ããã¯æãæåŸ ãããŠããæ¯ãèãã§ãã ä»»æã®ãŠãŒã¶ãŒå ¥åãèš±å¯ããã«ã¯ãTextEditEnabled ã true ã«èšå®ããŸãã
- Initialize(string[]) ãæç€ºçãªã€ã³ã¿ãŒãã§ã€ã¹ã®å®è£ ã«ãªããŸããã 代ããã« DefineEnum(string[]) ã䜿çšããŠãã ããã
- DropDownHeight ãåé€ã ããããããŠã³ã¢ã€ãã ã®ãªã¹ãã®é«ãã®æå€§å€ãæå®ããã«ã¯ã代ããã« MaxDropDownItems ã䜿çšããŠãã ããã
- DefineEnum(string[] names, int[] values) ãåé€ãvalues ãã©ã¡ãŒã¿ãŒãåžžã«ç¡èŠãããŠããããã§ãã
- ãããªãã¯éçã€ãã³ã EnumSelectionChanging ãåé€ããªã¯ãšã¹ãããã¯ã©ã€ã¢ã³ãããã®ã€ãã³ãã䜿çšããªãããšãããã³ããªã¹ããŒããã¯éžæãããã¢ã€ãã ãããããããç·šéäžã® LongEnumEditor ãªããžã§ã¯ãã¯ç¥ãããšãã§ããªãããã§ãããã®ãããªçç±ããããã®ã€ãã³ãã¯äžè¬çã«æçšã§ã¯ãªããšå€æããŸããã
- IFileDialogService åŒã³åºãã System.Windows.Forms.DialogResult ã§ã¯ãªã Sce.Atf.Applications.FileDialogResult ãè¿ãããã«å€æŽãWinForms ãžã®äŸåæ§ãè§£æ¶ããŸãã
ãªãŒãã³ãœãŒã¹/ããã¥ã¡ã³ã
- ãã¹ãŠã® ATF ãŠã£ãããã¥ã¡ã³ãã SHIP ãã GitHub ã«ç§»åã
- License.txt ã« Apache v2.0 ã©ã€ã»ã³ã¹ã远å ãããœãŒã¹ã³ãŒããšãã¹ãã¹ã¯ãªããã®èäœæš©æ å ±ãã¢ããããŒãã
- 廿¢ããŒã¯ãã€ããããã³ãŒããåé€ã 詳现ã¯ããäºææ§ã«åœ±é¿ãã倿Žç¹ããåç §ããŠãã ããã
- PDF ããã¥ã¡ã³ãããã³å ãšãªã Word ããã¥ã¡ã³ãã®ã©ã€ã»ã³ã¹ããã³æ©å¯ä¿æã®æé¢ãããªãŒãã³ãœãŒã¹ã©ã€ã»ã³ã¹ã«åãããŠå€æŽã èäœæš©æ å ±ã®æé¢ãã¢ããããŒãã
- GitHub ã§å¿ é ãšããã README.md ã远å ã*.md ã¯ããŒã¯ããŠã³ãŠã£ã圢åŒãæå³ããŸãããå®è³ªã¯ããã¹ããã¡ã€ã«ã§ããå 容㯠ReadMe.txt ã«åºã¥ããã®ã§ããããããªãã¯ãªããžããªã®æ§é ã®éããåæ ããŠããŸãã
- ãããªã㯠GitHub ãªããžããªã§ãATF ã®äœ¿çšç¶æ³ãã®ã³ã°ãç°¡åã«ç¡å¹ã«ããæ¹æ³ã远å ã ãã®ãããªéãã«å¯ŸããŠãPUBLIC ååŠçãã£ã¬ã¯ãã£ãã䜿çšã§ããããã«ãªããŸããã
- ATFProgrammer_Guide_exported_from_wiki.pdf ãåé€ãGitHub ã§å ¬éãããŠããããšããã©ãŒããããšã©ãŒãããããšããµã€ãºã倧ããããšãçç±ã§ãã
- ããã¥ã¡ã³ããã SHIP ãžã®ãªã³ã¯ãåé€ã
- å€ã Samples/LevelEditor ãã£ã¬ã¯ããªããã³ãLevelEditor ã®å Žæã瀺ãããã£ã¬ã¯ããªå ã® ReadMe.txt ãåé€ã æ°èŠã¯ã©ã€ã¢ã³ãã«æ··ä¹±ãåŒãèµ·ãããªãããã®é æ ®ã§ãã
- ãATF-GettingStarted.docãã®ãSupported Toolsãã®é ãã¢ããããŒãã.NET Framework 4 ããã³ C# 4 ãå¿ é ã§ãã VS2013 ã«å¯Ÿå¿ããŠããæšãèšè¿°ããŸããã
- ã³ã¡ã³ããæ¹è¯ããå ¬éãããåãã¡ã³ããŒã«äžè¶³ããŠããã³ã¡ã³ãã远å ã
- Sandcastle ã§äœæãã ATF_API-Reference.chm ãã¡ã€ã«ã远å ã ãŸããATF API ã® chm ãã¡ã€ã«ãäœæãããããžã§ã¯ãã远å ã
GitHub ããåãå ¥ãã倿Ž
- Pair.cs ã®åé·ãªãã«ãã§ãã¯ãåé€ã(lioncash)
- BezierCurve ããã³ Seg2F ã® ToString() ãã©ãŒããããä¿®æ£ã (lioncash)
- DomNodePropertyMatch ã³ã³ã¹ãã©ã¯ã¿ãŒå ã®äŸå€ã¡ãã»ãŒãžãä¿®æ£ã (lioncash)
- StandardLayoutCommands ã§å³ç«¯ãããã¯äžç«¯ãæ£åžžã«æããããªãåé¡ã®åå ãšãªã£ããåè·¯èŠçŽ ã® Bounds ããããã£ã®ãã°ãä¿®æ£ã
- CreateTestCircuitProgrammatically() ã«ã¯ã€ã€ãŒã远å ããéã«èµ·ããã¯ã©ãã·ã¥ãä¿®æ£ãã¯ã€ã€ãŒè¿œå åŸã«ãããã©ã«ãã§ã¯é衚瀺ã ã£ãã°ã«ãŒãã®ãã³ã衚瀺ããããšã«ããä¿®æ£ããŸããã
- CircuitValidator ã¯é©åãã DomNode ãäžèŠãšãªããReferenceValidator ã«å¯Ÿå¿ããŸãã(CTE ã¯ãã¯ã€ã€ãŒã®èšå®ãå€§å¹ ã«ç°ãªãç¹å¥ã«åŠçããããããReferenceValidator ãäžèŠã§ãã)
- Circuit Editor ã® Editor ã¯ã©ã¹ã«ã³ã¡ã³ãã远å ã
- åè·¯ãã³ãã¬ãŒã: ãã³ãã¬ãŒãåç §ã€ã³ã¹ã¿ã³ã¹ããã³ããŒã€ã³ã¹ã¿ã³ã¹ã«ã¬ãã«äžãããåŸã«åç §ã€ã³ã¹ã¿ã³ã¹ã«å床ã¬ãã«äžããããšãå ã®ãã³ãã¬ãŒãã® UUID ã埩å ãããã代æ¿ãŸãã¯è¿œå ã®ãã³ãã¬ãŒããã€ã¢ãã°ã®è¡šç€ºã«å€±æãããã°ãä¿®æ£ã
- ã»ãã®ããã¥ã¡ã³ãå
ã«é
眮å¯èœãªãåè·¯ãã³ãã¬ãŒããã©ã«ããŒã®ãµããŒããåæå®è£
ã
- CategoryUniqueIdValidator ã远å ããããŒã«ã«ã«ãŠããŒã¯ãª ID ããµããŒãããã³ãã¬ãŒãããªãŒéå±€ã«å éšããŒããšã»ãã®ããã¥ã¡ã³ãããã€ã³ããŒããããå€éšããŒããæ··åšããããã«ãªããå€éšããã¥ã¡ã³ãã®ããŒã ID ãå éšããŒãã® ID ãšè¡çªããå¯èœæ§ãããããå¿ èŠã«ãªããŸããã
- DomNode: å®è¡æã«ããŒãã«ã¿ã°ä»ãããã SetTag() ããã³ GetTag() ã远å ãåæ§ã®ç®çã§ãåç (倿Žå¯èœ) DOM 屿§ã®æ¹æ³ã調æ»ããå¿ èŠããããŸãã
- ãã³ãã¬ãŒããžã®åç §ã€ã³ã¹ã¿ã³ã¹ã¯ãã¹ãŠããã¥ã¡ã³ãã«äŸåããªã GUID ã§è§£æ±ºãããŸããçŸåšãåè·¯ã§ã«ã¹ã¿ãã€ãºããããªãŒããŒããã³ã©ã€ã¿ãŒã®ã¿ã§ GUID ããŒã¹ã®è§£æ±ºããããŠããŸãã
- ãã³ãã¬ãŒããã©ã«ããŒã External ã®å Žåã¯ãå€éšã®æ§è³ªã瀺ãç¹å¥ãªã¢ã€ã³ã³ã衚瀺ãããããã«ãªããŸããã
- ãã³ãã¬ãŒãã©ã€ãã©ãªå€éšãã©ã«ããŒ: ãã³ãã¬ãŒããªã¹ãã® UI ã®åŠçã埮調æŽãå€éšãã³ãã¬ãŒããã©ã«ããŒå ã§ã®ã¢ã€ãã ã®ç§»åãããã¥ã¡ã³ãéã§ã®ç§»åãããã³å€éšãã©ã«ããŒãžã®ã¢ã€ãã ã®çŽæ¥ç§»åãçŠæ¢ããŸãããéžæããããã©ã«ããŒãå€éšãã©ã«ããŒã®å Žåã¯ã代ããã«ã¢ã€ãã ã¯ã«ãŒããã©ã«ããŒã«è¿œå ãããŸãã
- å€éšãã³ãã¬ãŒããã©ã«ããŒäžã«ã«ãŒãœã«ç§»åãããšããã³ãã¬ãŒããã¡ã€ã«ã®ãã¹ã衚瀺ããŸãã
- å€éšãã³ãã¬ãŒããèŠã€ãããªããã¡ã€ã«ã®èªã¿èŸŒã¿ã衚瀺ãä¿åã«å¯Ÿå¿ãèŠã€ãããªããã³ãã¬ãŒãã¯ç¹å¥ãªã¹ã¿ã€ã«ã§è¡šç€ºãããŸãã
- ãªãœãŒã¹ package_error.png ã远å ãèŠã€ãããªãå€éšãã³ãã¬ãŒããåç §ããåè·¯èŠçŽ ã®ã¬ã³ããªã³ã°ã«äœ¿çšããŸãã
- ãã³ãã¬ãŒããªã¹ãã®ã³ã³ããã¹ãã¡ãã¥ãŒã« [Rescan] ã³ãã³ãᅵã远å ããã³ãã¬ãŒããªã¹ãã§åç §ãããŠãããã¹ãŠã®ãã³ãã¬ãŒãããã¥ã¡ã³ããå床èªã¿èŸŒã¿ãŸãã
- UpdateGroupPins ã«ãããåºåã°ã«ãŒããã³ã®ãã€ã³ããã¯ã¹åæå€ã®èšå®ã«é¢ããåé¡ãä¿®æ£ã ä¿®æ£å㯠m_inputs.Count ã䜿çšãããŠããŸããããçŸåšã¯æ£ãã m_outputs.Count ã䜿çšãããŸãã
- åè·¯èŠçŽ : ãã«ããŒã¡ãœããã® InputPin(index) ããã³ OutputPin(index) ã远å ã
- åè·¯ãã³ãã¬ãŒãã®ç·šéã¯ããã®ãã³ãã¬ãŒããææããããã¥ã¡ã³ãå ã§ã®ã¿å¯èœã«ãªããŸããã
- åç §ãããã°ã«ãŒããã³ããUI ããã»ãã®ãã³ã«é¢é£ä»ããããªãåé¡ãä¿®æ£ã
- ã¹ãã«ãã¹ã®ä¿®æ£: GroupingCommands.DefaultPinOderStyle ããããã£ã®ååã DefaultPinOrderStyle ã«ä¿®æ£ã
- ã¬ã€ã¢ãŠãã®å¶çŽããªãå Žåã®ã¯ã©ãã·ã¥ã ViewingContext.ConstrainBounds() ã§ä¿®æ£ã (Creature Editor ã®ã°ã©ããã¥ãŒã«ã¯éåžžã®ã°ãªããã¢ããã¿ãŒããããŸããã)
- CircuitEditingContext ã« 3 ã€ã®ä»®æ³ã®ä¿è·ãããã¡ãœããã远å ãOnObjectInserted()ãOnObjectRemoved()ãããã³ OnObjectChanged()ãæŽŸçã¯ã©ã¹ã¯ãããã ItemInsertedãItemRemovedãããã³ ItemChanged ã€ãã³ããçºçãããããšãã§ããŸãã
- CircuitEditor: å éšãã³ãã¬ãŒãã®ãµãããŒããããå€éšããŒããžã®é¢é£ä»ããäœæããéã®ã¯ã©ãã·ã¥ãä¿®æ£ã
- FSM Editor ããã³ StateChart Editor: èŠçŽ éã®æ¥ç¶ã®äœæã瀺ããäžæçãªã¯ã€ã€ãŒã衚瀺ãããªãåé¡ãä¿®æ£ã
- åè·¯ã®å€éšãã³ãã¬ãŒã: ãã³ãã¬ãŒãããã¥ã¡ã³ãã®åã¹ãã£ã³åŠçã®æåŸã«å€ããã³ãã¬ãŒããåé€ã
- Circuit Editor: ã¹ããŒããã¡ã€ã«ã®ãã³ãã¬ãŒãåã®åç §çšã«ã廿¢ããã typeRef 屿§ãå床远å ãããã«ããããã³ãã¬ãŒãã®ããå€ãåè·¯ããã¥ã¡ã³ããèªããããã«ãªããŸãããŸã倿ã³ãŒãã远å ããå€ãããŒãžã§ã³ã®åè·¯ããã¥ã¡ã³ããæ°ãããã©ãŒãããã§ä¿åãããããã«ãªããŸããããªãã廿¢ããã typeRef 屿§ã¯ãçŸåšã¯ guidRef ã«çœ®ãæãã£ãŠããŸãã
- Circuit Editor ã®é 眮ã³ãã³ããä¿®æ£ãã°ã«ãŒããèŠçŽ ãæ£ããé 眮ãããŸãã BoundsSpecified ãç¡èŠããŠãã ILayoutContext ã®å®è£ ã 3 ç®æä¿®æ£ããŸããã
- åè·¯ã°ã«ãŒã: åè·¯ã°ã«ãŒãã®å¹ ãåºã倿Žãã床ã«ãé«ããå°ããã€å¢ãããã°ãä¿®æ£ããŸããã
- ããŒãé 眮ã®ãªãã»ããã«é¢ããåé¡ãä¿®æ£ãæµ®åãã³ã® Y 座æšã®ç¯å²ãèšç®ããã³ãŒãã D2dSubgraphAdapter.GetBounds(items) ãã ViewingContext.GetBounds() ã«ç§»åããŸããã åè ã®ã¡ãœããã¯éžæãããã¢ã€ãã çšã§ããããããã¹ãŠã®æµ®åãã³ã® Y 座æšã®ç¯å²ãåžžã«å«ããããã«ã¯é©ããŠããŸããã§ãããåŸè ã¯ãã¹ãŠã®ã¢ã€ãã çšã®ã¡ãœããã§ããããããã¥ãŒãã°ã«ãŒããšãã£ã¿ãŒã«é¢é£ä»ããããŠããå Žåã« Y 座æšã®ç¯å²ãå«ããããã«é©ããŠããŸãã
- Circuit Editor: å±éããããã¥ãŒã§ã°ã«ãŒãå ã®èŠçŽ éã®ã¯ã€ã€ãŒãäœæããéã«ã衚瀺ãããã«ãŒãœã«ã¢ã€ã³ã³ãä¿®æ£ã
- å€éšããåç §ãããŠãããã³ãã¬ãŒãã®ããŒããåé€ãããããæ¥ç¶å ã®ãªããªã£ãã¯ã€ã€ãŒãã¯ã©ãã·ã¥ããåé¡ãä¿®æ£ã
- GroupInstance ããã³ ModuleInstance: èŠã€ãããªãåãåŠçããã® InputPin(index) ããã³ OutputPin(index) ã®ãªãŒããŒã©ã€ãã远å ã
Direct2D
- D2DFactory.MeasureText ã远å ãæå®ããããã©ã³ãã§æç»ãããæååã®å¹ ãæž¬å®ããŸãã
- D2dGraphics ã®æŽçãããã³æ©èœã®è¿œå ã
- WIC renderTarget ãžã®ã¬ã³ããªã³ã°ã®ãµããŒãã远å ã
- D2dGeometry ããã³ D2dGeometrySink ã®ãµããŒãã远å ã
- D2dGeometry ã«ããããã¹ãã®ã¡ãœããã远å ã
- D2DFactory: 倿äžèŠ§è¡šã䜿çšãã TextLayout ã®äœæãå¯èœã«ããŸãã
- D2dGeometry Bounds ããããã£ã®è¿œå ã
- D2dTextLayout ããã³ D2dTextFormat ã®ã¡ã¢ãªãªãŒã¯ãä¿®æ£ã
- D2dTextFormat ã§æ£ãã FontHeight ã®èšç®ã䜿çšããããã«ãªããŸããã
- é·ãããŒã«ãŒã©ãã«ã«å¯Ÿå¿ãããããã©ãã«ããã³ãã³ã管çã®åŠçãæ¹è¯ã
- D2dCircuitRenderer:
- èŠçŽ ã®æç»ãã«ã¹ã¿ã åããããã®ããããã£ã远å : RoundedBorderãTitleBackgroundFilledãããã³ PinDrawStyleã
- ã«ã¹ã¿ã åãããèŠçŽ ãæç»ããããã®ãä¿è·ãããä»®æ³ã¡ãœããã远å : GetElementTitle ããã³ GetElementDisplayNameã
- èŠçŽ ã®åã«é¢é£ä»ãããããã©ã·ã D2dLinearGradientBrush ã§ã¯ãªãå Žåã«èµ·ããã¯ã©ãã·ã¥ãä¿®æ£ã
- ãªãã·ã§ã³ã®ããã¥ã¡ã³ãã¬ãžã¹ããªã®ãã©ã¡ãŒã¿ãŒããã³ã³ã¹ãã©ã¯ã¿ãŒå ã«è¿œå ãããã¥ã¡ã³ããåé€ãããéã«ãèŠçŽ åã®ãã£ãã·ã¥ãã¯ãªã¢ããŸãã
- GetElementSizeInfo: ãªãã·ã§ã³ã®ã¿ã€ãã«ãã©ã¡ãŒã¿ãŒã远å ãèŠçŽ ãµã€ãºã®èšç®ã«ãã«ã¹ã¿ã åãããã¿ã€ãã«ããã¹ãã®ãµã€ãºãå«ããŸãã
- ElementTypeInfo: Title ãã£ãŒã«ãã远å ããã£ãã·ã¥ãããã¿ã€ãã«ãç°ãªãå Žåã¯ããã£ãã·ã¥ãããããŒã¿ãç¡å¹ãšãããèŠçŽ ã®ãµã€ãºãåèšç®ããŸãã Creature Editor ãåãåã®èŠçŽ ã«ç°ãªãã¿ã€ãã«ãã€ããŠããå Žåããããããã¿ã€ãã«ã®å€ããã£ãã·ã¥ããå¿ èŠããããŸãã
- å±éããã°ã«ãŒããã¬ã³ããªã³ã°ããããã®ãé«ãã®èšç®æ¹æ³ã倿Žã
- 掟çã¯ã©ã¹ãããŠã¹ã®ãããèšé²ãžã®ã¢ã¯ã»ã¹ãå¿ èŠãšããå Žåã«åããD2dGraphEdgeEditAdapter ã® DraggingContext ã²ãã¿ãŒã® MousePick ãã¢ããããŒãã
- D2dGraphAdapter: ãšããžç·šéæã®ã«ãŒãœã«ãã«ã¹ã¿ã åãã OverRouteCursorãFromPlaceCursorãToPlaceCursor ããã³ InadmissibleCursor ã远å ã
- D2dGraphAdapter: å¹ ãšé«ããäžæ£ã«èšæž¬ãããåå ã® GetBounds() ã¡ãœããã®åé¡ãä¿®æ£ã
ããããã£ç·šé
- æ°èŠã®ã«ã¹ã¿ã ãã¿ã³ OverlayButton ã远å ã
- PropertyGridView ãçŸåšéžæäžã®ããããã£ã®ãªã»ãããã¿ã³ã衚瀺ã
- PropertyGrid ã« [ãã¹ãŠã®ããããã£ããªã»ãã] ãã¿ã³ã远å ã
- PropertyEditingCommands ããªãã¡ã¯ã¿ãªã³ã°ããããå€ãã®æ©èœã远å ã æ¬¡ã®ã³ã³ããã¹ãã¡ãã¥ãŒã远å ããŸããã
- ããããã£å€ãã³ããŒ
- ããããã£ã貌ãä»ã
- ããããã£ããªã»ãã
- ãã¹ãŠãã³ããŒ
- ãã¹ãŠã«è²Œãä»ã
- ãã¹ãŠã®ããããã£ããªã»ãã
- ããã¹ããšãã£ã¿ãŒã«è¡šç€º
- PropertyGridView ã§æç»ã 1 ãã¯ã»ã«ããããšã©ãŒãä¿®æ£ã
- PropertyEditingControl ã® OnPaint ã¡ãœããããã³ OnBackColorChanged ã¡ãœãããåé€ã
- PropertyEditingControl: ã¯ã©ã€ã¢ã³ãããå ±åãããåçŸã§ããªãåé¡ãä¿®æ£ãã«ã¹ã¿ã ãšãã£ã¿ãŒã衚瀺ããããã«ããããã£ã®ããããããŠã³ãã¿ã³ã 2 床ã¯ãªãã¯ãããšã2 床ç®ã«ã¯ãšãã£ã¿ãŒã衚瀺ãããªãåé¡ããããŸããã ãã®ä¿®æ£ã¯ãæ¢ã« false ã§ãã m_dropDownForm.Visible ã false ã«èšå®ãããã®ã§ãããå®å šã§ãã
- PropertyGridView ãç¢å°ãã¿ãããŒãåŠçã§ããããã«ãªããŸããã
- Enter ããŒãæŒããšã以äžã® UITypeEditor ã§æ¬¡ã®å
¥åããã¯ã¹ã«ãã©ãŒã«ã¹ãç§»åããããã«ãªããŸããã
- NumericTupleEditor
- NumericMatrixEditor
- ArrayEditor
- EmbeddedCollectionEditor:
- åããã©ã³ã¶ã¯ã·ã§ã³å ã§ã¢ã€ãã ã远å ãããåŸã«åé€ãããå Žåããã® 2 ã€ã®ã€ãã³ãããäºããåãæ¶ããªããã°ãä¿®æ£ã
- ãŠãŒã¶ãŒã«ãããïŒããããã¯ã-ããã¿ã³ã®æŒäžã«åå¿ããŠãObservableContext ã ItemInserted ããã㯠ItemRemoved ãçºçãããªãã£ãå Žåã以åã¯ã¢ã€ãã ã®æ¿å ¥ãåé€ãäžå¯èœã§ããããä»ãªãªãŒã¹ããã¯ã¢ã€ãã ã®äžèЧãåžžã«ã¢ããããŒããããããã«ãªããŸããã
- LongEnumEditor: å
šé¢çãªæžãçŽãã ç»åã衚瀺ã§ããããã«ãªããŸããã ãªã»ãããã¿ã³ã§ããããã£ã®å
ã®å€ã埩å
ããŸãã以äžã®äºææ§ã«åœ±é¿ã®ãã倿Žã远å ãããŸããã
- ããã©ã«ãã§ã¯ããŠãŒã¶ãŒã«ããã³ã³ãããã¯ã¹ãžã®ä»»æã®ããã¹ãå ¥åãäžå¯èœã«ãªããŸããã ããã¯æãæåŸ ãããŠããæ¯ãèãã§ãã ä»»æã®ãŠãŒã¶ãŒå ¥åãèš±å¯ããã«ã¯ãTextEditEnabled ã true ã«èšå®ããŸãã
- Initialize(string[]) ãæç€ºçãªã€ã³ã¿ãŒãã§ã€ã¹ã®å®è£ ã«ãªããŸããã 代ããã« DefineEnum(string[]) ã䜿çšããŠãã ããã
- DropDownHeight ãåé€ã ããããããŠã³ã¢ã€ãã ã®ãªã¹ãã®é«ãã®æå€§å€ãæå®ããã«ã¯ã代ããã« MaxDropDownItems ã䜿çšããŠãã ããã
- ãªãŒããŒããŒãã® public void DefineEnum(string[] names, int[] values) ãåé€ãvalues ãã©ã¡ãŒã¿ãŒãåžžã«ç¡èŠãããŠããããã§ãã
- ãããªãã¯éçã€ãã³ã EnumSelectionChanging ãåé€ããªã¯ãšã¹ãããã¯ã©ã€ã¢ã³ãããã®ã€ãã³ãã䜿çšããªãããšãããã³ããªã¹ããŒããã¯éžæãããã¢ã€ãã ãããããããç·šéäžã® LongEnumEditor ãªããžã§ã¯ãã¯ç¥ãããšãã§ããªãããã§ãããã®ãããªçç±ããããã®ã€ãã³ãã¯äžè¬çã«æçšã§ã¯ãªããšå€æããŸããã
- NumericTextBox: ããŠã¹ã¯ãªãã¯ã§ãããããã£ãšãã£ã¿ãŒã®å ¥åããã¯ã¹ã®å 容ãéžæããŸãã
- DomPropertyEditor ãµã³ãã«: æ°ãã Level ããããã£ã Orc ã«è¿œå ããenum å€ã®æŽæ°ãããã¯æååãšããŠã®è¡šç€ºãå®è¡ããŸãã
ã¹ããã³ã°
- ãã°ä¿®æ£: ããã©ã«ã以å€ã®ã¹ãã³ãé©çšããå Žåã«ãããŒã«ããŒãã¿ã³ã®ãã€ã©ã€ãããã³åãæ¿ãã®ã¹ããŒã¿ã¹ãå£ããŠãããã°ãä¿®æ£ã
- CustomColorTable ã®åé¡ãæ°ä»¶ä¿®æ£ãããµã³ãã«ã¹ãã³ã«ããå€ãã®ãªãŒããŒã©ã€ããæå®ã
- ã¹ããã³ã°ãããåäžã«ãªãããã« Dark.skn ãã¢ããããŒãã
- ãã¹ãŠã® UITypeEditors ã§ã¹ããã³ã°ã«å¯Ÿå¿ã
- PropertyView ã® SetFont ãç¡å¹åã廿£ããããã©ã³ãã®ã¯ããŒãã³ã°ã«ãã SkinService ãäŸå€ãçºçããããã§ãã
- ã¯ã©ã€ã¢ã³ã以å€ã®é å (ã¿ã€ãã«ããŒããã©ãŒã ã®æ ç·ããã£ãã·ã§ã³ã®ãã¿ã³ããã©ãŒã ã¢ã€ã³ã³ããã³ã¿ã€ãã«ããã¹ã) ãã¬ã³ããªã³ã°ãã FormNcRenderer ã远å ã
- ã¿ã€ãã«ããŒã®ã¹ããã³ã°ãžã®å¯Ÿå¿ããã³ãDark.skn ãš Light.skn ã«ã¿ã€ãã«ããŒã®ã¹ãã³ã远å ã
- SkinEditor ãäœæãããšãã£ã¿ãŒ UIãã¹ãã³ã®ä¿åãšèªã¿èŸŒã¿ãããã³ã¹ãã³ã¹ã¿ã€ã«ã®ãªããžã§ã¯ãã®ããããã£èšè¿°åãžã®å¯Ÿå¿ã远å ã
- ã¹ãã³ãã¡ã€ã«ã®èšå®ããããŠããªãå Žåã«èµ·ããã¯ã©ãã·ã¥ãä¿®æ£ã
- SkinningService ã« ActiveSkinFile ããããã£ã远å ã ããããã£ã null ã§ãªãå Žåã« Skin Editor ãèµ·åãããšããã®ã¹ãã³ãç·šéçšã«èªåçã«èªã¿èŸŒãŸããŸãã
- 空ã®ã¹ãã³ãã¡ã€ã« Classic.skn ãåé€ã
- ColorPicker ã®ã¹ããã³ã°ã®åé¡ãä¿®æ£: åæã®è²ãæ£ããèšå®ããããã©ãžãªãã¿ã³ã®ããã¹ããå®å šã«è¡šç€ºãããªãåé¡ããããŸããã
- TreeControl ã® Text ããããã£ã®æç»ã«äœ¿çšããã Brush ã SystemBrushes.WindowText ãã ItemRenderer.TextBrush ã«å€æŽãã¹ãã³ãé©çšå¯èœã«ãªããŸããã
- SkinService: ã¹ãã³ãšãã£ã¿ãŒå®è¡äžã®èªã¿èŸŒã¿ã³ãã³ãããã³å ã«æ»ãã³ãã³ããç¡å¹åãã¹ãã³ãšãã£ã¿ãŒã¯åžžã«ã¢ã¯ãã£ããªã¹ãã³ãç·šéããããšã«ãªãããããããããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãä¿ãããŸãããªãã¡ã¯ã¿ãªã³ã°ãè¡ããŸãããéçå éšããããã£ãInstanceããäžèŠã«ãªã£ãããåé€ããŸããã
ãœãŒã¹ç®¡ç
- PerforceService.GetInfo() - p4 ã³ãã³ãã® fstat ã倱æãããšã©ãŒã¡ãã»ãŒãžãæäŸãããªãå Žåã«ã¯ããšã©ãŒã¡ãã»ãŒãžã®åºåã詊ã¿ãªãããã«å€æŽã
- Perforce ã® .NET ã©ã€ãã©ãªãã¢ããããŒãããŠããŒãããªãŒãã®ãã°ã«å¯ŸåŠã http://www.perforce.com/blog/140422/heartbleed-vulnerability-update-patched-perforce-clients-now-available ãåç §ããŠãã ããã
- PerforceService: ãã«ãã¹ã¬ããã¢ã¯ã»ã¹ã®åé¡ã«å¯ŸåŠãã倧å¹
ãªã¯ãªãŒã³ã¢ãããããŸãããå
·äœçã«ã¯æ¬¡ã®ãšããã§ãã
- ConnectionManager: P4API.NET ãªããžã§ã¯ãã¯äžåºŠã« 1 ã¹ã¬ããããã¢ã¯ã»ã¹ã§ããªããããã¬ãŒãã远å ã
- FileInfo: PerforceRequestQueue ã¯ã©ã¹ãå¿ èŠãšããã³ãŒãã«ããªãã®ãªãŒããŒããããå ããç»é²ãªã¯ãšã¹ãã®æ¹åŒã廿¢ããã®æ©èœã®å©ç¹ã¯ããã¡ã€ã«ã«å¯ŸããŠä¿çäžã® Perforce ãµãŒããŒãªã¯ãšã¹ããããå Žåã¯åžžã«ããç¶æ äžæããè¿ãããšã§ããããã®ãããªå Žåã¯ã代ããã«æåŸã®æ¢ç¥ã®ç¶æ ã䜿çšããŠãã ããã
- PerforceRequest: ãã®å éšã¯ã©ã¹ã§äœ¿ãããŠããªãããããã£ãåé€ã
- PerforceRequestQueue: ãã®å éšã¯ã©ã¹ãå®å šã«åé€ãå¿ èŠãªæ©èœã远å ãããªãã£ãããšãçç±ã§ãã
- ããã¯ã°ã©ãŠã³ãã¹ã¬ããã®æžãçŽãã2 ç§ã®ããŒãªã³ã°æ¹åŒã§ã¯ãªããã€ãã³ããããªã¬ãŒããæ¹åŒã䜿çšããããã«ãªããŸãããããžãã¯ãç°¡æœã«ãªããUI ã®å¿çæ§ãããã©ãŒãã³ã¹ã®æ¹åãèŠèŸŒãŸããŸãã
- GUI ã¹ã¬ãããšã¯ãŒã«ãŒã¹ã¬ããã®äž¡æ¹ããã¢ã¯ã»ã¹ããããå ±æãªããžã§ã¯ãã«ããã¯ã远å ã
- ã¯ãŒã«ãŒã¹ã¬ããã«è€æ°ã® Perforce ãªã¯ãšã¹ããä¿çäžã®å Žåããããã®ãªã¯ãšã¹ã㯠1 ã€ã«ãŸãšããããPerforce ãµãŒããŒã«å¯ŸããŠãã¹ãŠã®é¢é£ãã¡ã€ã«ãäžåºŠã«ã¯ãšãªããŸãã 以åã®ããŒãžã§ã³ã§ã¯ãä¿çäžã®ãªã¯ãšã¹ãããããã Perforce ãµãŒããŒã«å¥ã®ã¯ãšãªãè¡ã£ãŠããŸããã æ°çŸãããã¯æ°ååã®ãã¡ã€ã«ã«å¯Ÿããã¹ããŒã¿ã¹ã®ã¯ãšãªããå€§å¹ ã«å¹ççã«ãªããŸãã
- PerforceService ConnectionManager ãäŸå€ã ValidateConnection() ã§åŠçããããã«ãªããŸããã
- Atf.Subversion ãããžã§ã¯ãã远å ãSubversion ã䜿çšã㊠ISourceControlService ãå®è£ ããŸãã
- 以åã® P4.Net \ThirdParty ã©ã€ãã©ãªãåé€ã ãããã®ã©ã€ãã©ãªã¯ ATF 3.7 ãã P4API.Net ã«çœ®ãæãã£ãŠããŸããã
- ä»é² A ãATF 3.8 ãªãªãŒã¹ããŒã WPF ã«é¢ããè£è¶³äºé ãã«èšèŒãããŠããŸãã
- IronPython ã®ãŠã£ã³ããŠãªã©ã§äœ¿çšãã ConsoleTextBox ããè€æ°ã®ã³ãã³ããå«ãããã¹ããåŠçã§ããããã«ãªããŸããã
- ã°ã©ãã£ãã¯ã¢ãŒãã£ã¹ãã«ãã ATF ããŽãšã¢ã€ã³ã³ã远å ã ããŽã¯ \[ãã«ã] -> \[ããŒãžã§ã³æ å ±] ç»é¢ã«äœ¿çšãããŠããŸãã ã¢ã€ã³ã³ã¯ã¿ã€ãã«ããŒããã³ Windows ã¿ã¹ã¯ããŒã§ããµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã瀺ãããã«äœ¿çšãããŸãã
- EnumerableUtil.ForEachWhileTrue ã远å ãç¹å®ã®æ¡ä»¶ã true ã§ããéã«ãã³ã¬ã¯ã·ã§ã³ãåæããŸãã
- Cartesian2dCanvas.cs: ãã©ã€ããŒãã¡ãœããã«ã¡ã¢ãªãæç»ããå ±éã®ã³ãŒããé 眮ã
- MathUtil: å€ãã©ã¡ãŒã¿ãŒã null ã®å Žåã®ãClamp ã¡ãœããã® NullReferenceException ãä¿®æ£ã
- å ã«æ»ã/ããçŽãã®ã¹ã¿ãã¯ã®èŠèŠçãªãªã¹ãã§ãã HistoryLister ã远å ã ãŠãŒã¶ãŒã¯ãªã¹ããã¯ãªãã¯ããŠã倿°ã®ã³ãã³ããå ã«æ»ãããšããããçŽãããšãå¯èœã§ãã 衚瀺ã§ããã³ãã³ãã®æå€§æ°ã¯ãããããã£ã§ãŠãŒã¶ãŒãç·šéå¯èœã§ãã ããã©ã«ãå€ã¯ 150 ã§ãæå°å€ã¯ 10 ã§ããæ°ä»¶ã®ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã«è¿œå ããŸããã
- ATF ThreadSafeProgressDialog - Run() ã¡ãœããã®æçµãããã¯ã« m_parent.Owner == null ã®ãã§ãã¯ã远å ãããŸãã«èµ·ãã Run() ã¡ãœãããçµäºããåã«èŠªãã€ã¢ãã°ãåŠåãããå Žåã«å¯ŸåŠããŸãã
- ãã©ãã°ã¢ã³ãããããã®æäœã«ãã·ã§ã«ã¹ã¿ã€ã«ã®ãã©ãã°ã¢ã³ãããããã€ã³ã¿ãŒãã§ãŒã¹ãæäŸã ãã©ãŒã ã§æ£ããã¡ãœãããåŒã³åºããšãã·ã§ã«ããã¢ã€ã³ã³ã衚瀺ãããŸããããšãã°ããã¡ã€ã«ããšã¯ã¹ãããŒã©ãŒã«ãã©ãã°ãããšç»åã衚瀺ãããŸãããã ãããã©ãã°ã¢ã³ãããããã®éå§æã«ããã©ãã°ã¢ã³ãããããæäœã«ç¬èªã®ç»åãæ·»ä»ããããšãå¯èœã§ãã (Metrics ã§äœ¿çšã)
- DefaultTabCommands: ã³ã³ãããŒã«ã®èšè¿°ããUntitled:Groupããªã©ã®äžæ£ãªãã¹åã§ããããã«ãåè·¯ã°ã«ãŒããªã©ã®ãµãããã¥ã¡ã³ãã®ãŠã£ã³ããŠã§ã¯ã©ãã·ã¥ãèµ·ããããšã®ããåé¡ãä¿®æ£ã
- å®å®ãã SharpDX 2.5.0 ã®ãªãªãŒã¹ã«æŽæ°ã
- HistoryLister ã®ãŠãŒã¶ãŒèšå®ã®ããã¹ãã倿Žã
- Atf.Core ã« ColorUtil.Lerp()ãEnumerableUtil.IndexOf() ããã³æ°èŠã® AttributeUtils ã¯ã©ã¹ã远å ã
- CustomColorTable: 4 ç®æã®ã¹ãã«ãã¹ãä¿®æ£ãã¹ãã«ãã¹ã®ããã«èª€ã£ãèšå®å¯èœãªããããã£ããèšå®äžå¯èœãªããããã£ã§äœ¿çšãããŠããåé¡ã解決ããŸãã
- Sce.Atf.Dom.Template ã® æœè±¡ Model ããããã£ãåé€ããTarget ããããã£ãæœè±¡ããããã£ã«å€æŽã 掟çã¯ã©ã¹ã䜿çšããã¯ã©ã€ã¢ã³ãã¯ãModel ããããã£ã Target ããããã£ã«å€æŽããããšã«ãããã³ã³ãã€ã«ãšã©ãŒãè§£æ¶ããŸãã Target ããããã£ãš Model ããããã£ã¯åããã®ã§ãããã¯ã©ã¹ãäžå¿ èŠã«è€éã«ãªã£ãããããã®äºææ§ã«åœ±é¿ã®ãã倿Žãè¡ããŸããã
- LINQ ã«é¢é£ããããã©ãŒãã³ã¹ãæé©åã
- æè¿ã® PropertyEditingControl ã®å€æŽã«ãããDrawingEditableValue ã²ãã¿ãŒã廿¢ã åžžã« false ãè¿ããŠããŸãããã 廿¢ããŒã¯ãä»ããŸããã
- Atf.Gui.Input ã« KeyPressEventArgs ããã³ PreviewKeyDownEventArgs ã远å ã
- DefaultTabCommands: ã«ã¹ã¿ã åãã€ã³ãã远å ãããã«ããã¯ã©ã€ã¢ã³ãã¯ãã©ã®ãããã³ã°ãã Control ã®ã¿ãã§ããã«ãã¹ãã³ããŒãããã³ãããã¥ã¡ã³ããå«ããã£ã¬ã¯ããªãéããã®ã³ãã³ããå©çšå¯èœã«ããããæå®ã§ããŸãã
- EnumerableUtil ã® IndexOf ã®æ¡åŒµã§ãArgumentNullException ãçºçãããã®ã§ã¯ãªãããã©ã«ãã®ç倿¯èŒã䜿çšããŸãã
- ã¡ã¢ãªç Žæã®åé¡ã®ãããDevilImageLoader ã«å»æ¢ããŒã¯ãä»ã㊠ImageLoaderRegistry ãã䜿çšç®æãåé€ã äžè¬çãªç»åãã¡ã€ã«ãã©ãŒãããã§äœ¿çšã§ãããã»ãã®åçš®ã€ã¡ãŒãžããŒããŒã䜿çšããŠãã ããã DdsCompressor ã DevilImageLoader ã®ä»£ããã« DdsImageLoader ã䜿çšããããã«å€æŽããŸããã
- https://github.com/SonyWWS/ATF/issues/9
- Collada ã¹ããŒããã¡ã€ã«: !DOCTYPE èŠçŽ ãåé€ã!DOCTYPE èŠçŽ ã .NET XmlSchemaSet ã® DTD åŠçã«é¢ãã XmlSchemaTypeLoader.Load(string) ã§ãç¡å®³ãšæããã XML äŸå€ãçºçãããŠããããšãçç±ã§ãã ããã¯çŸæç¹ã§æé©ãªä¿®æ£ã§ãã https://github.com/SonyWWS/ATF/issues/9 ã§å ±åããã现ããåé¡ã® 1 ã€ã§ãã
- CodeEditor ãµã³ãã«ãæŽæ°ããµã³ãã«ã¯ UnhandledExceptionService ã³ã³ããŒãã³ãã䜿çšããããã«ãªããŸããã
- Sce.Atf.Adaptation.Adapter: Adapter ãšåããªããžã§ã¯ãã« Adaptee ãé©åã§ãããšãåããªããžã§ã¯ãã 2 床è¿ãããšãã§ãã Adapter.GetDecorators() ã®åé¡ãä¿®æ£ã åé¡ãåçŸå®è¡ããæ£ããä¿®æ£åäœã確èªãããŠããããã¹ãã远å ããŸããã IDecoratable ã«é¢ããããã€ãã®ã³ã¡ã³ããä¿®æ£ããŸããã
- DomNode: Copy() ã¡ãœããã ChildInfo ãã³ããŒããããã«å€æŽã 以åã¯èŠªãèšå®ããããŸã§ã¯ã芪㮠DomNode ããèŠãã®çŸåšã® DomNode ã説æãã ChildInfo 㯠null ã§ããã ãã®æ¹æ³ã¯ãæ°žç¶åã®ããã« ChildInfo ãå¿ èŠãšãã ã«ãŒã DomNode 以å€ã®ããã¹ãŠã®ããŒãã«ã¯åé¡ããããŸããã§ããã ãã®ãªãªãŒã¹ããã¯ãã«ãŒã DomNode ãã³ããŒã§ãã£ãŠããæ°žç¶åãå¯èœã«ãªããŸããã
- ListViewAdapter: åã DomNode ãè€æ°åæ¿å ¥ãããå Žåã®ããAn item with the same key has already been added (åãããŒã®ã¢ã€ãã ãæ¢ã«è¿œå ãããŠããŸã)ããšããäŸå€ãä¿®æ£ããŸããã ããã¯çºçããå¯èœæ§ã®äœãåé¡ã§ããã
- ColorPicker: ãšã©ãŒã¡ãã»ãŒãžãããŒã«ã©ã€ãŒãŒã·ã§ã³å¯èœãªãã®ã«å€æŽã
- ColorPicker ã« AutoScaleMode ã远å ãFont ãµã€ãºã«åãããŠæ¡å€§çž®å°ããŸãã
- System.Windows ãšã®ç«¶åãé¿ããããã«ãåå空é Sce.Atf.DragDrop ã Sce.Atf ã«æŽæ°ã
- TransactionReporter ã远å ãããšãã°ãéè€ãã屿§å€æŽãããã«ããã©ã³ã¶ã¯ã·ã§ã³ã®æåŸã«èµ·ãã DOM ã®ã¯ãªãŒã³ã¢ããã«ãã倿Žãå ±åãã DomNodeAdapter ã§ãã
- ã¢ã»ã³ããªçšã®ãããŒç»åã®æå®ãå¯èœã«ãã Sce.Atf.AssemblyBannerAttribute ã远å ã
- Atf.Gui.CustomizeAttribute ããã³ããã®æŽŸçã® Sce.Atf.Controls.PropertyEditing.PropertyView.CustomizeAttribute ã远å ã
- Scea.Editors.Commands ã¯ã©ã¹ã Atf.Gui.Commands ã«ã¯ããŒã³ãã¯ããŒã³ãããã¯ã©ã¹ã¯ç¬ç«ããã¯ã©ã¹ã§ãå ã® Scea ã®å ŽæããæŽŸçãããã®ã§ã¯ãããŸããã
- ããŒã«åãããã㣠DocumentClientInfo.AllowStandardFileCommands ã远å ãç»é²ããã IDocumentClient ããæšæºãã¡ã€ã«ã³ãã³ããèªåçã«ããã¥ã¡ã³ãã¿ã€ãã«è¿œå ããã®ãé²ããŸãã
- RecentDocumentCommands.MaxPathLength.get ã远å ãããã«ãããã«ãŒããã¡ã€ã«ã¡ãã¥ãŒã«è¡šç€ºããããã¹ãçãã§ããŸãã
- WeifenLuo.WinFormsUI.Docking ã©ã€ãã©ãªã®ãã°ãä¿®æ£ããããã³ã°ããã«ã«ã¢ã€ã³ã³æå®ããªããShowIcon ã false ã«èšå®ãWindows ãã¬ãŒã¹ãã«ããŒã¢ã€ã³ã³ã衚瀺ãããŠããããã¥ããã®ãããã³ã°ããã«ãèªåé衚瀺ã®å Žåã«èµ·ãããã°ãè§£æ¶ãããŸãã
- ãããã³ã°ã¹ããŒãã Unknown ã®ãã€ã³ã« GetTabStripRectangle ãåŒã³åºãããéã®ãAutoHideStripBase ã®äŸå€ãä¿®æ£ã
- DocumentClientInfo ã« DefaultExtension ããããã£ã远å ã ãšãã£ã¿ãŒãè€æ°ã®æ¡åŒµåã«å¯Ÿå¿ããå Žåãããã©ã«ãæ¡åŒµåãèšå®ããããšã«ãããæ°èŠãã¡ã€ã«äœææã« ATF ããŠãŒã¶ãŒã«æ¡åŒµåã®éžæãæ±ããªããªããŸãã
- DomNode: å©äŸ¿æ§ãåäžããããã« Copy(DomNode) ã¡ãœããã远å ã
- DomNode: GetLocalAttribute() ã®èªã¿åºãå ã«ã屿§ãããã©ã«ãå€ã§ããã®ãããããšãããã©ã«ããšåãå€ã«èšå®ãããã®ããèå¥å¯èœã«ãã现ãã倿Žã远å ã ãã®å€æŽã«ãããATF 3.5 以åã® Santa Monica Studio ã® Creature Editor ãªã©ã®ã¯ã©ã€ã¢ã³ãã®ã³ãŒãã§ãGetLocalAttribute() ã䜿çšããŠãå€ãããã©ã«ãã§ããããèšå®ããããã®ã§ããããèå¥å¯èœã«ãªããŸããã
- GetPhysicalMemoryMB() ã AtfUsageLogger.cs ãã Kernel32.cs ã«ç§»åããã¢ã¯ã»ã¹ã¬ãã«ããã©ã€ããŒããããããªãã¯ã«å€æŽã
- WinFormsUtil: BoundsSpecified ãã©ã°ã®ãã Rectangle ãæŽæ°ãã UpdateBounds() ã远å ã
- Statechart Editor: 芪ã¹ããŒãã«è²Œãä»ããããåã¹ããŒãã®äœçœ®ã«é¢ããåé¡ãä¿®æ£ã
- ã¢ããªã±ãŒã·ã§ã³èµ·åæã«ããã¥ã¡ã³ããéããŠããªãå Žåã¯ãã¿ã€ãã«ããŒã空ã«ãªããªãããã«ãã¡ã€ã³ã®ãã©ãŒã ã¿ã€ãã«ããµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã®åå (CircuitEditorãFsmEditor ããã³ StatechartEditor) ã«åæåããŸãã
- UsingDirect2D ãµã³ãã«ã¢ããªã±ãŒã·ã§ã³: ããã¹ããèªã¿ãããããããã«ã¿ã€ãã«ããŒã®æ å ±ã«çްãã倿Žã远å ã ã¹ããŒã¹ããã³ããªãªããå ããŸããã
- ã¬ã¬ã·ãŒã® FileExplorer ãµã³ãã«ã®äŸå€åŠçãæ¹åã
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãATG ã® ATF 3.8 ãžã® WPF å®è£ ã«ãšããªã倿Žã説æããŸãã 倿Žã¯ã¢ã»ã³ããªå¥ã«ç€ºããŸãã Atf.Gui.Wpf 以å€ã®ã¢ã»ã³ããªã®å€æŽã¯ãäºææ§ã«åœ±é¿ããããŸããã ãªããã¢ã»ã³ããªãžã®äºææ§ã«åœ±é¿ã®ãã倿Žã«ã€ããŠã¯ãATF 3.8 ãªãªãŒã¹ããŒãå ã«èª¬æããããŸãã Atf.Gui.Wpf ã®å€æŽããã³åé€ã®å€ãã¯ãæ¢åã® WPF ã¢ããªã±ãŒã·ã§ã³ã®äºææ§ã«åœ±é¿ãåãŒãå¯èœæ§ãããããã倿Žå 容ãããã確èªãã ããã ãã®ãªãªãŒã¹ã«ããã䜿ãã®ã³ãŒããç Žæããå Žåã«ã¯ãhttps://github.com/SonyWWS/ATF/issues ãã New Issue ãäœæããŠãç¥ãããã ããã
Atf.Core 以äžã®æ°ããã¯ã©ã¹ã远å ããŸãã:
- ArgParser: Obsolete ããŒã¯ã®ä»ããŠãã Scea.Utilities å ã®ã¯ã©ã¹ã®ä»£ããã«ãªããŸãã
- IObservableCollection: ç£èŠå¯èœãªã³ã¬ã¯ã·ã§ã³ã®ã€ã³ã¿ãŒãã§ãŒã¹ã®ç瞮圢ã ã¡ãœããã远å ããããšãªããIListãINotifyPropertyChanged ããã³ INotifyCollectionChanged ãçµã¿åãããŸãã
- PropertyChangedEventArgsCollection: PropertyChangedEventArgs ã®ç¹å¥ãªã³ã¬ã¯ã·ã§ã³ãæ¢ã«ã³ã¬ã¯ã·ã§ã³ã«ååã®åŒæ°ã»ãããããå Žåãæ°ãã远å ãããªãããã«ããŸãã
- Adaptation\BindingAdapterObject: IAdaptable ãªããžã§ã¯ããé©åãããã«ã¹ã¿ãã€ãºãããããããã£èšè¿°åã®ã»ããããã€ã³ãã£ã³ã°çšã«æäŸãã CustomTypeDescriptor ãªããžã§ã¯ãã
- Dom\ObservableDomNodeAdapter: ããããã£å€æŽã®éç¥ãæäŸãã DomNodeAdapterã
- Dom\ObservableDomNodeListAdapter: ããããã£å€æŽã®éç¥ãæäŸãã DomNodeListAdapterã
- Dom\ObservableDomPropertyAttribute: ObservableDomNodeAdapter ããæŽŸçãã DomNodeAdapters ã®ããããã£ã«äœ¿çšããã屿§ã ããããã£ã«äœ¿çšãããšã察å¿ãã屿§ã倿Žãããéã« ObservableDomNodeAdapter ããã®ããããã£ã«å¯Ÿã NotifyPropertyChanged ã€ãã³ããçºçãããŸãã
- AssemblyBannerAttribute: ã¢ã»ã³ããªçšã®ãããŒç»åã®æå®ãå¯èœã«ãã屿§ã
- EnumUtil: enum ã䜿çšããããã®éçãŠãŒãã£ãªãã£ã¡ãœããã
- ObservableUtil: INotifyPropertyChanged ã«ã匷ãå®ååãããããããã£ã®å€æŽéç¥ã䜿çšãããŠãŒãã£ãªãã£ã
- Applications\DirectoryWatcherService: ãã£ã¬ã¯ããªã®å€æŽãç£èŠãããµãŒãã¹ã
- Applications\ICommandService: ã¡ãã¥ãŒããã³ããŒã«ããŒã®ã³ã³ãããŒã«ã§ãã³ãã³ãã衚瀺ãããµãŒãã¹ã®ã€ã³ã¿ãŒãã§ãŒã¹ã WPF ããã³ WinForms ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšå¯èœã«ãªããŸããã
- Applications\IDirectoryWatcherService: ãã£ã¬ã¯ããªå ã«ãããã¡ã€ã«ã®å€æŽãç£èŠãããµãŒãã¹ã®ã€ã³ã¿ãŒãã§ãŒã¹ã
- Applications\IHelpContext: ã¹ããŒã泚éãä»ããå 容ã«ç¹åãããã«ããæäŸããããŒã¿ãªããžã§ã¯ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã
- Applications\ILastHitAware: æåŸã«ãããããã¢ã€ãã ã®èšé²ãä¿æããã€ã³ã¿ãŒãã§ãŒã¹ã
- Applications\IMessageBoxService: WinForms ããã³ WPF ãªã©ã®å®è£ ã®è©³çްã«é¢ãããã«ãã¡ãã»ãŒãžããã¯ã¹ã衚瀺ããã€ã³ã¿ãŒãã§ãŒã¹ã
- Applications\Listers\FilteredTreeView: ãã£ã«ã¿ãªã³ã°ãæäŸãã ITreeView ã®ã©ãããŒã
- Applications\Listers\IndependentFilteredTreeView: ã©ããã³ã°ããã TreeView ããç¬ç«ãã ISelectionContext ã䜿çšããŠãã£ã«ã¿ãŒãããããªãŒãã¥ãŒã
- Applications\MenuInfo: TagãText ããã³ Description ãå«ãã¡ãã¥ãŒæ å ±ãä¿æã
- Applications\SettingsServiceBase: ãŠãŒã¶ãŒãç·šéå¯èœãªèšå® (詳现èšå®) ããã³ã¢ããªã±ãŒã·ã§ã³èšå®ã®æ°žç¶åã管çãããµãŒãã¹ã
- Applications\VersionControl\SourceControlCommandsBase: ãœãŒã¹ç®¡çã³ãã³ããå®è£ ããã³ã³ããŒãã³ãã
- Collections\AdaptableObservableCollection: ããåã® IObservableCollection ãã©ããã³ã°ããå¥ã®åã® IObservableCollection ãå®è£ ããŸãã
- Collections\AdaptingCollection: FilteringCollection ã OrderingCollection ãå«ããã³ã³ãã³ãã®ãœãŒãããã£ã«ã¿ãªã³ã°ãå¯èœãªããŒã¹ã¯ã©ã¹ã
- Collections\CollectionChangedListener: ã³ã¬ã¯ã·ã§ã³å ã®ãã¹ãŠã®ã¢ã€ãã ã«é¢ãããç¹å®ã®ããããã£ã®å€æŽããªãã¹ã³ã
- Collections\LinkedListExtensions: æå®ãããå€ãæã€ LinkedList ã®æ¬¡ã®èŠçŽ ããã³åã®èŠçŽ ãèŠã€ããæ¡åŒµã¡ãœããã
- Collections\ObservableCollectionAdapter: AdaptableObservableCollection ã®åºåºã¯ã©ã¹ã
- Collections\PriorityQueue: åªå 床ã§ãœãŒããããã¢ã€ãã ã®ãã¥ãŒã
- Collections\ReferenceCollectionAdapter: ç£èŠå¯èœãªåç §ã®ã³ã¬ã¯ã·ã§ã³ãããã®ç£èŠå¯èœãªåç §ã¿ãŒã²ããã®ã³ã¬ã¯ã·ã§ã³ã«é©åããã³ã¬ã¯ã·ã§ã³ã
- Collections\SortedObservableCollection: ãœãŒããããç£èŠå¯èœãªã³ã¬ã¯ã·ã§ã³ã®ãŠãŒãã£ãªãã£ã¯ã©ã¹ã
- Dom\BindingAdapter: IAdaptable ã€ã³ã¿ãŒãã§ãŒã¹ããååŸããã¢ããã¿ãŒãžã®ãããŒã¿ãã€ã³ãã£ã³ã°ã®ãµããŒãã远å ãã DomNodeAdapterã
- Dom\DomNodeHelpAdapter: ã¹ããŒã泚éã®ãã«ãããŒã䜿çšã㊠DomNode ã IHelpContext ã«é©åã
- Dom\DomNodeTypeExtensions: DomNodeType ã䜿çšããããã®æ¡åŒµã¡ãœããã
- Dom\ListContext: ãªã¹ããç·šéããã³ã³ããã¹ãã EditingContext ã« IInstancingContextãILastHitAwareãIObservableContext ããã³ INotifyPropertyChanged ã远å ããŸãã
- Dom\ObservableCustomTypeDescriptorNodeAdapter: NodeType ãã»ãã®ã¡ã¿ããŒã¿ãã PropertyDescriptors ãååŸããããŒãã¢ããã¿ãŒã
- Models\AdapterViewModel: é©å察象ãé©åãããã€ã³ãå¯èœãª As ããããã£ãæäŸããããšãå¯èœãªãã¥ãŒã¢ãã«ã¯ã©ã¹ã
- Models\CheckedTreeNode: Tri-state ãã§ãã¯ããã¯ã¹ã®ããããªãŒããŒãã®ãã¥ãŒã¢ãã«ã
Atf.Gui.WinForms 以äžã Atf.Gui ã¢ã»ã³ããªã«ç§»åããã ãåå空éã¯åãã§ãã
- Applications\FileWatcherService
- Applications\IFileDialogService
- Applications\StandardFileCommands
Atf.Gui.Wpf 以äžã远å :
- ColorUtil: è²ã䜿çšããããã®ãŠãŒãã£ãªãã£é¢æ°ã
- DataContextSpy: è«ççã§ã¯ãªãããªãŒã® XAML ã¢ã€ãã ã§ãElementName ããã³ DataContext ã®ãã€ã³ãã£ã³ã°ãå¯èœã«ããããã®ã¯ã©ã¹ã
- DebugUtils: å®è¡äžã« XAML ãã€ã³ãã£ã³ã°ããããã°ããããã®äŸ¿å©ãªã¯ã©ã¹ã
- FindFileResolver: ãŠãŒã¶ãŒã®è£å©ã«ãããç Žæãããã¡ã€ã«ã·ã¹ãã ã® URI ã®ä¿®åŸ©ã詊ã¿ããªãŸã«ããŒã
- IMenu: CommandService ã®ã¡ãã¥ãŒã¢ã€ãã ã®ã€ã³ã¿ãŒãã§ãŒã¹ã
- IToolBar: CommandService ã®ããŒã«ããŒã¢ã€ãã ã®ã€ã³ã¿ãŒãã§ãŒã¹ã
- ResourceUtil: WPF ã¢ããªã±ãŒã·ã§ã³ã§ã¢ã€ã³ã³ãã«ãŒãœã«ãªã©ã®ãWinForms ããŒã¹ã®ãªãœãŒã¹äœ¿çšããµããŒãã
- Applications\AppearanceService: ã¹ããã³ã°ã管çããã³ã³ããŒãã³ãã
- Applications\AutoDocumentService: ã¢ããªã±ãŒã·ã§ã³éå§æã«ããã¥ã¡ã³ããèªåçã«èªã¿èŸŒããµãŒãã¹ã
- Applications\CommandInfos: WPF ã¢ããªã±ãŒã·ã§ã³ã§ Sce.Atf.Applications.CommandInfo ã䜿çšããããã®æ¡åŒµã¡ãœããã
- Applications\FileDialogService: Sce.Atf.Applications.IFileDialogService ã® WPF ã®å®è£ ã
- Applications\FIleSystemDataProvider: ãã¡ã€ã«ãç¹å®ã®ãã£ã¬ã¯ããªã«ç€ºããObservableFileInfo ãªããžã§ã¯ãã®ã³ã¬ã¯ã·ã§ã³ã衚瀺ãã DataSourceProviderã ãã®ãã£ã¬ã¯ããªã®ãã¡ã€ã«ã«å ãããã倿Žã¯ãå®è¡æã«åæ ãããŸãã
- Applications\IProtocol: ãããã³ã«ã®æ å ±ãæäŸãããã®ãããã³ã«ã§æ¥ç¶ããã¿ãŒã²ãããšã®ãããšããå®è¡ããã€ã³ã¿ãŒãã§ãŒã¹ã
- Applications\ITarget: ååããããã³ã«ãæ¥ç¶ã¹ããŒã¿ã¹ãªã©ã®ã¿ãŒã²ããæ å ±ãååŸããã€ã³ã¿ãŒãã§ãŒã¹ã
- Applications\ITargetDiscovery: ãããã³ã«å¥ã®ã¿ãŒã²ããæ€åºçšã€ã³ã¿ãŒãã§ãŒã¹ã
- Applications\ITargetService: ã¿ãŒã²ãã管çã®ã€ã³ã¿ãŒãã§ãŒã¹ã
- Applications\ITransportLayer: ãã©ã³ã¹ããŒãå±€ã®éä¿¡çšã€ã³ã¿ãŒãã§ãŒã¹ã
- Applications\Listers\ITemplatingContext: ã³ã³ããã¹ãã®ãããã¿ã€ãã³ã°ã®ã€ã³ã¿ãŒãã§ãŒã¹ãã³ã³ãã³ãã®ããªãŒãã¥ãŒè¡šç€ºããIDataObjects ã®äœæãå¯èœã§ãã
- Applications\MessageBoxService: Sce.Atf.Applications.* ã®åããã¿ã³ãç»åãSce.Atf.Wpf.WpfMessageBox ã«å¿ èŠãª System.Windows.* åã®æ»ãå€ã®åã«å€æããSce.Atf.Wpf.WpfMessageBox ã衚瀺ã
- Applications\SettingsService: ãŠãŒã¶ãŒèšå®ãèšå®ã®ä¿æãåŠçãã ISettingsService ã® WPF å®è£ ã
- Applications\StandardEditCommands: WinForms DataObject ã䜿çšããã« Atf.Gui.WinForms.StandardEditCommands ããäœæã
- Applications\SwitchToService: ã³ã³ããã¹ãéã® Ctrl+Tab ãåŠçãããµãŒãã¹ã
- Applications\SynchronizeInvoke: WPF ã¢ããªã±ãŒã·ã§ã³çšã« ISynchronizeInvoke ãå®è£ ããã©ãããŒã¯ã©ã¹ã
- Applications\TargetService: ã¿ãŒã²ãã管ççšã® ITargetService ã®å®è£ ã
- Applications\TcpIpProtocol: TCP/IP ã®ã¿ãŒã²ãã管ççš IProtocol ã®å®è£ ã
- Applications\TcpIpTarget: TCP/IP ã®ã¿ãŒã²ããçš ITarget ã®å®è£ ã
- Applications\TcpIpTransport\*: TCP/IP ã¿ãŒã²ãããšã®å®éã®éä¿¡ãåŠçã
- Applications\VersionControl\CheckInDialog: ãœãŒã¹ç®¡çã«ãã¡ã€ã«ããã§ãã¯ã€ã³ããããã® UIã
- Applications\VersionControl\ReconcileDialog: ãªãã©ã€ã³ã§è¡ã£ãäœæ¥ã調æŽããããã® UIã
- Applications\WebServices\FeedbackForm: ãã°ã¬ããŒããéä¿¡ãããã©ãŒã ã
- Applications\WebService\ProjectMappingAttribute: ããŒãžã§ã³ãã§ãã¯ããã°æåºçšã« SourceForge ãããžã§ã¯ãã«ãããããéã«äœ¿ãããèå¥åã瀺ãã¢ã»ã³ããªã«ããã®å±æ§ãé 眮ã§ããŸãããªãããã®ã¢ã»ã³ããªã¯éåžž AssemblyInfo ãã¡ã€ã«å ã«ãããŸãã ãã®å±æ§ããªãå Žåã¯ã代ããã« AssemblyTitle 屿§ã䜿çšãããŸãã
- Applications\WebServices\UserFeedbackService: ãã£ãŒãããã¯ããã°å ±åçšã®ãã©ãŒã ã®è¡šç€ºããã³éä¿¡ã® UI ãæäŸãããµãŒãã¹ã
- Applications\WebServices\VersionCheck: SourceForge ã®æŽæ°ã確èªãããŠãŒãã£ãªãã£ã
- Applications\WebService\VersionUpdateService: ã¢ããªã±ãŒã·ã§ã³ã SHIP ã®ææ°ããŒãžã§ã³ã«æŽæ°ãããµãŒãã¹ã
- Behaviors\ActivateContextBehavior: ããŠã¹ãã¿ã³ã¯ãªãã¯ã®ã€ãã³ããææããATF ã³ã³ããã¹ãã¬ãžã¹ããªã®ã¢ã¯ãã£ãã³ã³ããã¹ãããèŠçŽ ã®çŸåšã®ããŒã¿ã³ã³ããã¹ãã«èšå®ããããã€ãã¢ãŒã
- Behaviors\ButtonPopupBehavior: ãã¿ã³ã¯ãªãã¯ã§é¢é£ããã³ã³ããã¹ãã¡ãã¥ãŒã衚瀺ã
- Behaviors\ContextSensitiveToolbar: çŸåšã®éžæã«åºã¥ããŠå 容ã«ç¹åããæ å ±ã衚瀺ãããããŒã«ããŒã®ããã€ãã¢ãŒã
- Behaviors\DataPiping: DataPipes ã®äŸåæ§ããããã£ç®¡çã
- Behaviors\DialogButtonWorkaround: æšæºã® Button.IsDefault ã WPS ã®ãã°ãåé¿ããããã«ãæ·»ä»ããããã£ã®ä»£ããã«ãªããŸãããã°ã®è©³çް: http:\\www.thomasclaudiushuber.com\blog\2008\05\02\lostfocus-textbox-vs-buttons-isdefault-property\
- Behaviors\EventToCommand: UI ã€ãã³ãããªã¬ãŒãæå¹ã«ãªã£ãæã«ã³ãã³ããèµ·åããŸãã
- Behaviors\InstancingDropTargetBehavior: ããããæã«ãªããžã§ã¯ãã®æ°èŠã€ã³ã¹ã¿ã³ã¹ãäœæããããã©ãã°ã¢ã³ãããããã®ã¿ãŒã²ããã
- Behaviors\ItemsControlInsertionAdornerBehavior: ã¢ã€ãã ã³ã³ãããŒã«ã«æ¿å ¥ã¬ã€ããæç»ããããã®æœè±¡ããŒã¹ã¯ã©ã¹ããªã¹ãã³ã³ãããŒã«ã«çŽç·ãæ¿å ¥ããå ŽåãããªãŒã³ã³ãããŒã«äžã®ããããã¿ãŒã²ããããã€ã©ã€ãããå Žåã«äœ¿ããŸãã
- Behaviors\ItemsControlSelectFirstBehavior: ItemsSource ã«å€æŽããã£ãæã«ãComboBox ãªã©ã®ãªã¹ãããŒã¹ã®ã³ã³ãããŒã«ã®æåã®ã¢ã€ãã ãèªåçã«éžæã
- Behaviors\LastHitAwareBehavior: ã¯ãªãã¯ãããã¯ãã©ãã°ãããæåŸã®ã¢ã€ãã ã®å±¥æŽãä¿æããããã€ãã¢ãŒã
- Behaviors\ListBoxScrollToEndBehavior: æ°ãããªã¹ãã«è¿œå ãããã¢ã€ãã ããèªåã¹ã¯ããŒã«ããŠè¡šç€ºããããã€ãã¢ãŒã
- Behaviors\PasswordBoxBehavior: PasswordBox äžã® PasswordChanged ã€ãã³ããåŠçããããã€ãã¢ãŒã
- Behaviors\RoutedTemplateSelector: DataTemplate ãéžæããå¿ èŠãããæã«ããã³ãã¬ãŒãåãããèŠçŽ ã®ãããªã³ã° TemplateRequested ã«ãŒãã£ã³ã°ã€ãã³ããçºçããã DataTemplateSelectorã
- Behaviors\SelectorSelectionBehavior: éžæã倿Žãããæã«å®è¡ããã³ãã³ããèšå®ããããã€ãã¢ãŒã
- Behaviors\TextBoxNumericBehavior: æå°å€ãæå€§å€ãæŽæ°ãããã¯å°æ°ãèš±å¯ãããã©ãããªã©ãTextBox ã®æ°å€å ¥åã«é¢ããããã€ãã¢ãŒãå®çŸ©ã
- Behaviors\TextBoxSelectAllBehavior: TextBox ã«ãã©ãŒã«ã¹ãç§»ã£ãæã«ãå šãŠã®ããã¹ããéžæããããã€ãã¢ãŒã
- Behaviors\ThemeStyleBehavior: ã¢ããªã±ãŒã·ã§ã³ããŒããåçã«å€æŽãããå Žåã«ãBasedOn="" ã䜿çšããŠå€æŽããã¹ã¿ã€ã«ãèš±å¯ããæ·»ä»ããããã£ã éåžžããã¹ã¿ã€ã«ã® BasedOn ããããã£ãèšå®ãããŠããå Žåãã¢ããªã±ãŒã·ã§ã³ãèªã¿èŸŒãŸããåŸã¯ãã¿ãŒã²ããã¹ã¿ã€ã«ã®å€æŽã¯åœ±é¿ããŸãããæŽŸçããã¹ã¿ã€ã«ã¯å ã®ã¹ã¿ã€ã«ãããŒã¹ã®ãŸãŸã«ãªããŸãã
- Collections\PriorityQuadTree: åªå 床ã§ãœãŒãããã QuadNodes ã®ã³ã¬ã¯ã·ã§ã³ã
- Controls\Adaptable\IViewAwareContext: ãã€ã³ãããããã¥ãŒãèªèããŠããã³ã³ããã¹ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã
- Controls\BalancedWrapPanel: åèŠçŽ ãå·Šããå³ããããã¯äžããäžã®é çªã«äžŠã¹ãŸãã èŠçŽ ãããã«ã®ç«¯ãè¶ ããå Žåã«ã¯ã次ã®è¡ãããã¯åã«é 眮ãããŸãã
- Controls\ClippingBorder: ã³ã³ãã³ããåãåãå¢çç·
- Controls\ConfirmationDialog: ãã¯ãããããããããã£ã³ã»ã«ããã¿ã³ã®ããã¡ãã»ãŒãžã衚瀺ã
- Controls\DirectoryPicker: ããããã£ç·šéã«äœ¿çšãããã£ã¬ã¯ããªéžæã®ã³ã³ãããŒã«ã
- Controls\DomRecorderView: Sce.Atf.Wpf.Dom.DomRecorder ãèšé²ãã DOM ã€ãã³ãã衚瀺ãããŠãŒã¶ãŒã³ã³ãããŒã«ã
- Controls\EditTextBox: ãŠãŒã¶ãŒããªã¿ãŒã³ããŒãæŒäžããæã«ãããŒã¿ãã€ã³ãã£ã³ã°ãæŽæ°ããããã¹ãããã¯ã¹ã
- Controls\FilePicker: ããããã£ç·šéã«äœ¿çšãããã¡ã€ã«éžæã®ã³ã³ãããŒã«ã
- Controls\FindFileDialog: ãŠãŒã¶ãŒã®è£å©ã§èŠã€ãããªããã¡ã€ã«ã®ãæ¢ã FindFileDialogViewModel ããã³ FindFileResolver ãšãšãã«äœ¿çšã
- Controls\FindTargetsDialog: å©çšå¯èœãªã¿ãŒã²ãããæ€åºããŠè¡šç€ºã
- Controls\Icon: ã¢ã€ã³ã³ã¯ã©ã¹ãç»åãœãŒã¹ãéžæãããç»åãéžæè§£é€ãããç»åãããã³åœ±ã®ãªãã·ã§ã³ããããŸãã
- Controls\WindowLayoutManageDialog: ãŠã£ã³ããŠã®ã¬ã€ã¢ãŠãã管çãããã€ã¢ãã°ã
- Controls\PropertyEditing\StandardValuesConverter: ã¯ãšãªããããšãã«æšæºå€ã®ã»ãããæäŸããåã³ã³ããŒã¿ãŒã ããããã£ãšãã£ã¿ãŒã«åŒ·å¶çã«æšæºå€ã®ã»ãããèªèãããããã«ãPropertyDescriptor ã«å¯ŸããŠäœ¿ãããšãã§ããŸãã ããšãã°ãæååããŒã¹ã®ããããã£ã Enum ããããã£ã®ããã«åäœãããããšãå¯èœã§ãã
- Controls\PropertyEditing\ValueEditors\FilePathValueEditor: ãã¡ã€ã«ãã¹ãç·šéããã«ã¹ã¿ã ã®ããããã£ãšãã£ã¿ãŒã
- Controls\PropertyEditing\ValueEditors\FolderPathValueEditor: ãã©ã«ããŒãã¹ã®ç·šéã«ãã³ãã¬ãŒãã䜿çšãããããŒã¿ã«ãã€ã³ãã£ã³ã°ãããããããã£ãšãã£ã¿ãŒã
- Controls\PropertyEditing\ValueEditors\IStringValueFilter: æååã®å€ããã£ã«ã¿ãªã³ã°ããã€ã³ã¿ãŒãã§ãŒã¹ã
- Controls\PropertyEditing\ValueEditors\RangeSliderValueEditor: èš±å¯ãããå€ã®ç¯å²ãç·šéã§ããã¹ã©ã€ããŒããããã£ãšãã£ã¿ãŒã
- Controls\PropertyEditing\ValueEditors\StandardValuesEditor: åæå¯èœãªå€ã®ãªã¹ãã®ããããã£ãšãã£ã¿ãŒã
- Controls\RangeBaseEx: ç¹å®ã®ç¯å²å ã®å€ãæã€èŠçŽ ã衚ããŸãã ããã©ã«ãå€ãå€ã察æ°ãã©ãããå€ãç·šéäžãã©ãããªã©ã®æ¡åŒµæ å ±ã远å ããŸãã
- Controls\RangeSlider: ç¯å²ã®éžæãèš±å¯ããã¹ã©ã€ããŒã³ã³ãããŒã«ã
- Controls\RangeSliderBase: ç¯å²éžæã®æ©èœã®ãªã³ãªããèš±å¯ãã RangeSlider ã®ããŒã¹ã¯ã©ã¹ã
- Controls\SettingDialog: ãŠãŒã¶ãŒèšå®ã®è¡šç€ºããã³ç·šéçšã®ãã€ã¢ãã°ã
- Controls\SettingsLoadSaveDialog: ãŠãŒã¶ãŒèšå®ã®ã€ã³ããŒãããã³ãšã¯ã¹ããŒãçšã®ãã€ã¢ãã°ã
- Controls\SizeBasedTemplateSelector: 衚瀺ãµã€ãºã«åºã¥ããŠãªã¹ããããã³ãã¬ãŒããéžæã
- Controls\SnappingBitmap: 芪ã«ã¹ããããããããããã
- Controls\SplitButton: ããããããŠã³ã³ã³ãã³ãã®ãããã¿ã³ã
- Controls\StylableListView: æšæº WPF ListView ã®ã¹ã¿ã€ãªã³ã°ã«é¢ããåé¡ã®åé¿æ¹æ³ãè©³çŽ°ã¯æ¬¡ã®ãªã³ã¯ãåç §ããŠãã ãããhttp:\\social.msdn.microsoft.com\Forums\en\wpf\thread\9cff5483-9608-4f33-98f3-a186de4fa306
- Controls\SwitchToDialog: å©çšå¯èœãªã³ã³ãããŒã«ã衚瀺ããã³ã³ãããŒã«éã§ã® Ctrl+Tab ãèš±å¯ããããã«ãSwitchToService ã䜿çšãããã€ã¢ãã°ã
- Controls\TargetDialog: ITargets ã®ç®¡ççšãã€ã¢ãã°ã
- Controls\TcpIpTargetEditDialog: TCP/IP ã¿ãŒã²ããã®è©³çްãç·šéãããã€ã¢ãã°ã
- Controls\TileView: 䞊ã¹ãã¬ã€ã¢ãŠã衚瀺ã瀺ãã¯ã©ã¹ã
- Controls\ToolBarItemTemplateSelector: ToolBarItems ã®ãã³ãã¬ãŒããéžæãããã«ããŒã¯ã©ã¹ã
- Controls\TreeViewWithSelection: ISelectionContext ã®æ©èœã远å ããããªãŒãã¥ãŒã
- Controls\ValueChangedEventManager: PropertyDescriptor å€ã®å€æŽã€ãã³ãã®ãããå ç¢ãªã€ãã³ããããŒãžã£ãŒã
- Controls\VirtualizingWrapPanel: ã©ããã³ã°ã䜿çšããŠããã«ã®å 容ã䞊ã¹ãä»®æ³åããŸãã
- Controls\WindowLayoutNewDialog: æ°ãããŠã£ã³ããŠã®ã¬ã€ã¢ãŠãåãç·šéãããã€ã¢ãã°ã
- Docking\ContentSettings: åã³ã³ãããŒã«ã®ãããã³ã°èšå®ã«é¢é£ããããããã£ãå«ãŸããŸãã
- Docking\DockContent: ãããã³ã°ãã¬ãŒã ã¯ãŒã¯å ã«ãããã³ã°ãããã³ã³ãã³ãã衚ãã¯ã©ã¹ã
- Docking\DockedWindow: ãã®ã¯ã©ã¹ã¯éå±€ã«ãããã³ã°ãããŠãããŠã£ã³ããŠã衚ããŸãã ã¿ã€ãã«ããŒãéããã¢ã€ã³ã³ããã³æããããã¢ã€ã³ã³ããããéå±€å ã§ãµã€ãºå€æŽãå¯èœã§ãã
- Docking\DockIcon: ãŠãŒã¶ãŒããããã³ã°ããã³ã³ãããŒã«ããã©ãã°ããŠããæã«è¡šç€ºãããããããã³ã°ã€ã³ãžã±ãŒã¿ãŒã®ã¯ã©ã¹ã
- Docking\DocklingsWindow: DockIcons ã衚瀺ããéæã®ãŠã£ã³ããŠã
- Docking\DockPanel: ãŠã£ã³ããŠãªã©ã«ãããã³ã°ããããã³ã°è§£é€ãæãããã¿ãæäŸããã«ãŒãã¯ã©ã¹ã
- Docking\FloatingWindow: ãããã³ã°ãããŠããªãã³ã³ãã³ããå«ããŠã£ã³ããŠã
- Docking\GridLayout: åãæ°Žå¹³ãŸãã¯åçŽã«åºåãã§åããŠé 眮ããã¬ã€ã¢ãŠãã ããããã®åã¯ãDockedWindow ãããã¯ã»ãã® GridLayout ã§ãã
- Docking\IDockable: ãããã³ã°ãããããã®åãå ¥ãããã³ãã¬ãã¥ãŒãå¯èœãªããã¹ãŠã®ã¯ã©ã¹ã䜿çšããã€ã³ã¿ãŒãã§ãŒã¹ã
- Docking\IDockContent: IDockable ã³ã³ãã³ãã€ã³ã¿ãŒãã§ãŒã¹ããããã³ã°å¯èœãªãã¹ãŠã®ã³ã³ãã³ãã§å®è£ ããå¿ èŠããããŸãã
- Docking\IDockLayout: ãã¹ãŠã®ãããã³ã°ã³ã³ãããŒã«ãã¹ãã§å®è£ ãããã€ã³ã¿ãŒãã§ãŒã¹ã
- Docking\ResizablePopup: ãµã€ãºå€æŽå¯èœãª Popupããããã³ã°ãããŠããåŽã«åºã¥ããŠãäžæ¹åã«ãµã€ãºã倿Žã§ããŸãã
- Docking\SideBarButton: SidePopup ã§äœ¿çšã§ãããã¿ã³
- Docking\SidePopup: ãããã³ã°ãŠã£ã³ããŠã®æšªã®æãããã¿å¯èœãªããã«
- Docking\TabLayout: åãã¿ããšããŠè¡šç€ºãããããã³ã°ã³ã³ãããŒã
- Docking\Win32Calls: Win32 çžäºéçšã®äžéšãã©ããã³ã°ãããŠãŒãã£ãªãã£ã¯ã©ã¹ã
- DOM\DataContextAdapter: ATF IAdaptable ãã¿ãŒã³ã䜿çšã㊠FrameworkElement ã® DataContext ãé©åããéã«äœ¿çšãããŠãŒãã£ãªãã£ã¯ã©ã¹ã
- DOM\DomRecorder: ã¢ã¯ãã£ããªã³ã³ããã¹ãäžã® DOM ã€ãã³ããèšé²ãããªã¹ãã«è¡šç€ºãã DOM ã¬ã³ãŒããŒã
- DOM\HelpAnnotations: ã¹ããŒã泚éãä»ããå 容ã«ç¹åãããã«ããæäŸãããªããžã§ã¯ãã䜿çšããããã®ã¯ã©ã¹ã
- Extensions\DispatcherExtensions: InvokeIfRequired ãªã©ã®ããã䜿ããã Dispatcher æ¡åŒµã¡ãœããã®ã»ãããæäŸã
- Extensions\MiscExtensions: äž»ã«ãã€ã¢ãã°è¡šç€ºã«é¢é£ããåçš®ã®æ¡åŒµã¡ãœããã®ã»ããã
- Extensions\TreeViewExtensions: GetAllTreeViewItems ãªã©ã® TreeView ã䜿çšããããã®æ¡åŒµã
- Extensions\VIsualTreeExtensions: VisualTree ã䜿çšããããã®æ¡åŒµã¡ãœããã
- Interop\KeysInterop: WinFormsãWPF ããã³ ATF ã®ããŒã®çš®é¡ã®éã§å€æãè¡ãéçãŠãŒãã£ãªãã£ã¡ãœããã
- Markup\CommandServiceExtension: CommandService ã䜿çšããããã® XAML ããŒã¯ã¢ããæ¡åŒµã
- Markup\EnumValuesExtension: åæå€ã䜿çšããããã® XAML ããŒã¯ã¢ããæ¡åŒµã
- Markup\GenericExtension: ãžã§ããªãã¯åã䜿çšããããã® XAML ããŒã¯ã¢ããæ¡åŒµã
- Markup\ResourceKeyBinding: ãªãœãŒã¹ããŒã«ããŒã¿ãã€ã³ãã£ã³ã°ãæäŸãã XAML ããŒã¯ã¢ããæ¡åŒµã
- Markup\TypeConverterExtension: ãœãŒã¹ãã¿ãŒã²ããã¿ã€ãã®ã¿ã€ãåããã³ Type éã§å€æãè¡ã XAML ããŒã¯ã¢ããæ¡åŒµã
- Models\AdaptableViewModelCollection: ãã®ã¯ã©ã¹ã¯ãããåã® IObservableCollection ãã©ããã³ã°ããå¥ã®åã® IObservableCollection ãå®è£ ããŸãã ãã®ã¯ã©ã¹ã¯ AdaptableObservableCollection ãšç°ãªããã³ã³ã¹ãã©ã¯ã¿ãŒã«æž¡ããã IAdapterCreator ã䜿çšããŠãåºã«ãªãã³ã¬ã¯ã·ã§ã³ã®å®å šãªæ°ããã»ããã®ã¢ããã¿ãŒãåžžã«äœæããŸãã ãã®æ©èœã¯ãã³ã¬ã¯ã·ã§ã³ãå ±æã®ãã¥ãŒã¢ãã«ã§ã¯ãªããäžæã®ãã¥ãŒã¢ãã«ã®æ°èŠã³ã¬ã¯ã·ã§ã³ã«é©åãããå¿ èŠã®ãã WPF MVVM ã®äœ¿çšç¶æ³ã§äŸ¿å©ã§ãã
- Models\ConfirmationDialogViewModel: ConfirmationDialog ã®çžäºäœçšããžãã¯ã CommonDialog ã®æšæºã®[ã¯ã]ã[OK]ã[ãã£ã³ã»ã«] ãã¿ã³ã®ã»ãã« [ããã] ãã¿ã³ã远å ããŸãã
- Models\FindFileDialogViewModel: èŠã€ãããªããã¡ã€ã«ã解決ãã FindFileDialog ã®çžäºäœçšããžãã¯ã
- Models\FindTargetsViewModel: Find Targets ãã€ã¢ãã°ã®çžäºäœçšããžãã¯ã
- Models\SettingsDialogViewModel: ãŠãŒã¶ãŒèšå®ã衚瀺ãç·šéãã Setting ãã€ã¢ãã°ã®çžäºäœçšããžãã¯ã
- Models\SettingsLoadSaveViewModel: ãŠãŒã¶ãŒèšå®ãã€ã³ããŒãããšã¯ã¹ããŒããããã€ã¢ãã°ã®çžäºäœçšããžãã¯ã
- Models\ShowDialogEventArgs: ãã¥ãŒã¢ãã«ããã€ã¢ãã°ããåé¢ãããããšã®ã§ããã€ãã³ãåŒæ°ã ãã€ã¢ãã°ãçŽæ¥èµ·åããã®ã§ã¯ãªãããããã®ã€ãã³ãåŒæ°ã䜿çšããŠããã¥ãŒã¢ãã«ã¯ãã¥ãŒã賌èªããã€ãã³ããæäŸã§ããŸãã
- Models\TargetViewModel: Target ã®çžäºäœçšããžãã¯ã
- Models\TargetDialogViewModel: ã¿ãŒã²ãã管çãã€ã¢ãã°ã®çžäºäœçšããžãã¯ã
- Models\TcpIpTargetEditDialogViewModel: TCP/IP ã¿ãŒã²ããã®è©³çްãç·šéãããã€ã¢ãã°ã®çžäºäœçšããžãã¯ã
- Models\WindowLayoutNewViewModel: æ°ãããŠã£ã³ããŠã¬ã€ã¢ãŠãã®åä»ãçšãã€ã¢ãã°ã®çžäºäœçšããžãã¯ã
- Models\ManageWindowLayoutsDialogViewModel: ãŠã£ã³ããŠã¬ã€ã¢ãŠãã®ç®¡çãã€ã¢ãã°ã®çžäºäœçšããžãã¯ã
- Resources\DockIcons.xaml: ãããã³ã°ãã¬ãŒã ã¯ãŒã¯ã䜿çšããã¢ã€ã³ã³ã
- Resources\dialog_errorãdialog_informationãdialog_questionãdialog_warning: ã¡ãã»ãŒãžããã¯ã¹ã§äœ¿ããã¢ã€ã³ã³ã
- Skins\ReferencedAssemblySkin: ã»ãã®ã¢ã»ã³ããªããåç §ã§ããããã« URI ãå«ãã¹ãã³ã®æ å ±ã
- Skins\Skin: ã¹ãã³ãªãœãŒã¹ã®èªã¿èŸŒã¿ãæ¯æŽããæœè±¡ããŒã¹ã¯ã©ã¹ã
- Themes: ClippingBorderãCommonDialogãDockPanelãDockedWindowãFilePickerãDirectoryPickerãFloatingWindowãRangeSliderãSideBarButtonãSidePopupãSplitButtonãTabLayout ããã³ TileView ã«æ°ããã¹ã¿ã€ã«ã远å ã
- Value Converters\AdaptingValueConverter: 2 ã€ã® IAdaptable ã®åã®éã§å€æãããæ»ãããããã³ã³ããŒã¿ãŒã
- Value Converters\SimpleAdaptingValueConverter: IAdaptable åã«å€æããäžæ¹åã®ã³ã³ããŒã¿ãŒã
- Value Converters\AdaptingCollectionValueConverter: Iadaptable ã䜿çšããŠãããåã® IObservableCollection ããå¥ã®åã® IObservableCollection ã«å€æããã³ã³ããŒã¿ãŒã
- Value Converters\BoolVisibilityConverter: ããŒã«å€ã«åºã¥ããŠã¢ã€ãã ã®è¡šç€ºãèšå®ããå€ã³ã³ããŒã¿ãŒã
- Value Converters\DomDataTemplateSelector: ããŒã¿ãã³ãã¬ãŒãã¿ã°ã®åã¡ã¿ããŒã¿ã確èªãã DomNode ã® DataTemplateSelectorã
- Value Converters\InterfaceTemplateSelector: å ·äœåã§ã¯ãªãã€ã³ã¿ãŒãã§ãŒã¹ã«åºã¥ããŠãã³ãã¬ãŒããéžæãã DataTemplateSelectorã
- Value Converters\NullVisibilityConverter: ã¢ã€ãã ã null ã®å Žåã«ã¢ã€ãã ã®è¡šç€ºã Collapsed ã«èšå®ããå€ã³ã³ããŒã¿ãŒã
- Value Converters\TypeConverter: ããåãã»ãã®åã«å€æããã³ã³ããŒã¿ãŒã
- CollectionUtil (VisualTreeExtensions ã«çœ®ãæããããŸããã)
- DispatcherUtil (DispatcherExtensions ã«çœ®ãæããããŸããã)
- TreeViewUtil (VisualTreeExtensions ã«çœ®ãæããããŸããã)
- VisualTreeUtil (VisualTreeExtensions ã«çœ®ãæããããŸããã)
- Interop\CommandServiceAdapter (äžèŠã ã£ãããããã©ãããã©ãŒã å šäœã§ ICommandService ãçµ±åããŸããã)
- Models\MenuItem (CommandItem ã«çœ®ãæããããŸããã)
- Models\MenuItemBase (äžèŠã§ãããMenuItem 㯠CommandItem ã«çœ®ãæããããŸããã)
- Models\MenuUtil (MainMenuViewModel ã«çœ®ãæããããŸããã)
- Models\ToolBarTrayBinder (IMenu åã«äºææ§ããªãã£ãããåé€ãããŸããã)
- ObservableUtil
- Applications\ICommandService
- Applications\IHelpContext
- Applications\MenuInfo
- Models\AdapterViewModel
- Applications\CommandService: å ±éã® Sce.Atf.Applications.ICommandService ãå®è£ ããããã«ãªããŸããã
- Applications\ControlHostService: Sce.Atf.Wpf.Interop.MainWindowAdapter ã®ä»£ããã« Sce.Atf.Applications.IMainWindow ãåãããã«ãªããŸããã
- Applications\EditLabelCommand: CanDoCommand ããã³ DoCommand 㯠ICommandItem ã®ä»£ããã« Sce.Atf.Wpf.Applications.EditLabelCommand.Commands ãäºæããããã«ãªããŸããã
- Applications\HelpCommands: CanDoCommand ããã³ DoCommand 㯠ICommandItem ã®ä»£ããã« Sce.Atf.Wpf.Applications.HelpCommands.Commands ãäºæããããã«ãªããŸããã ContextMenuHelpTag ã䜿çšå¯èœã§ãã
- Applications\ICommandItem: InputGestures ãš MenuPath ãåé€ããShortcuts ãš Index ã远å ããŸããã
- Applications\IThumbnailResolver: Uri ã§ã¯ãªã ThumbnailParameters ãåãããã«ãªããŸããã
- Applications\ThumbnailService: ResolveThumbnail ããã³ ResolveThumbnailBlocking ã¯ãUri ã§ã¯ãªã ThumbnailParameters ãåãããã«ãªããŸããã
- Behaviors\ AtfTreeViewBehavior: ããããã£ãã€ã³ãã£ã³ã°ã xaml ã¹ã¿ã€ã«å®çŸ©ããã³ãŒãã«ç§»åããŸãããããã«ãããããŒã¿ã³ã³ããã¹ããã€ãªããåã«ãã€ã³ãã£ã³ã°ãããã®ãé²ããŸãã
- Behaviors\GridViewColumnHeaderBehavior: SetIsDClickable ã®ã¹ãã«ãã¹ã SetIsClickable ã«ä¿®æ£ããŸããã
- Behaviors\ItemsControlDropTargetBehavior: ãã©ãã°ãããã¢ã€ãã ãæ¿å ¥ã§ããªãå ŽåãOnDragOver ããã©ãã°ã¢ã€ã³ã³ã®ãšãã§ã¯ããã¯ãªã¢ããéèš±å¯ã瀺ãã¢ã€ã³ã³ã衚瀺ãããŸãã
- Controls\FormattingTextBox: Value ããããã£ã¯ãªããžã§ã¯ãã§ã¯ãªãæåååã«ãªããŸãã
- Controls\MainWindow.xaml: IPartImportsSatisfiedNotification ãå®è£ ããªãããã«ãªããŸããã
- Controls\PropertyEditing\IPropertyFactory: CreateProperty 㯠FrameworkElement ã§ã¯ãªã ITransactionContext ãåãããã«ãªããŸããã
- Controls\PropertyEditing\PropertyGrid: PropertyGrid ã® ListBoxItemsPanel ãã³ãã¬ãŒãããã³ããã® ListBoxItemContainer ã¹ã¿ã€ã«ãã«ã¹ã¿ã åããããããã£ã远å ããŸããã
- Controls\PropertyEditing\PropertyNode
- å€ãã®ãã©ã¡ãŒã¿ãŒã® ctor ãåé€ããŸããã 代ããã«ããããã£ããèšå®ããŠãã ããã
- Owner ããããã£ãåé€ã
- Controls\PropertyEditing\TransactionPropertyNode: å€ãã®ãã©ã¡ãŒã¿ãŒã® ctor ãåé€ããŸããã
- Controls\PropertyEditing\ValueEditors\ValueEditor: GetTemplate ããã³ GetStyle ã« DependencyObject ãã©ã¡ãŒã¿ãŒã远å ã MultiLineTextEditor ãš SliderEditor ã«ã圱é¿ããŸãã
- Models\DialogViewModelBase: CanOk ã CanExecuteOk ã«å€æŽã
- Models\MainMenuViewModel
- ICommandService ãåã ctor ãåé€ã
- Menus ããããã£ã ObservableCollection ã§ã¯ãªã IEnumerable åã«ãªããŸããã
- Models\ToolBarViewModel
- ICommandService ãåã ctor ãåé€ã
- ToolBars ããããã£ã ObservableCollection ã§ã¯ãªã IToolBar[] åã«ãªããŸããã
- Models\TreeViewModel
- Atf.Gui.WinForms.TreeViewAdapter ãšåæ§ã«ãm_itemToNodeMap ã Dictionary ãã Multimap ã«å€æãTreeViewModel.GetNode() ãã·ã°ããã£ãä¿æããŸãããæ°ããã¡ãœãã IEnumerable GetNodes(object) ãåŒã³åºããæåã®ããŒããããã¯ãèŠã€ãããªãå Žåã«ã¯ããã©ã«ãã®ããŒããè¿ããŸãã
- ããŠã¹ãªãŒããŒããã¹ãã®ããããã£ã®ããããªãŒããŒããããªãŒè¡šç€ºå ã§ããŒãäžã«ããŠã¹ãªãŒããŒããæã«ã衚瀺ããæååãæå®ããŸãã
- Node.ItemInfo ããããªãã¯ã«ãããã¹ãŠã® IItemInfo.GetInfo() åŒã³åºãã®åŸã«åŒã³åºããã OnNodeInfoUpdated(Node) ã远å ã ããŒãèªäœã倿ŽãåŠçããåã«ãã¯ã©ã€ã¢ã³ãã³ãŒããããã« Node.ItemInfo ã倿Žããããšãå¯èœã§ãã
- Sce.Atf.Wpf.WpfImageResourceAttribute ã«å»æ¢ããŒã¯ãä»ããŸããã 代ããã« Sce.Atf.ImageResourceAttribute ã䜿çšããŠãã ããã
- Sce.Atf.Wpf.WpfResourceUtil ã«å»æ¢ããŒã¯ãä»ããŸããã 代ããã« Sce.Atf.Wpf.ResourceUtil ã䜿çšããŠãã ããã
- WPF TreeViewItem ã®ã©ãã«ãã©ã³ãã«åœ±é¿ãã ItemInfo.FontStyle ãæå¹ã«ããŸããã
- TreeViewModel çšã®ãŠããããã¹ãã远å ãããã¹ãã§çºèŠãããšã©ãŒãä¿®æ£ããŸããã
WinGui ãµã³ãã«ãæŽæ°:
- WPF ããã® WinForms ã®åé¢ãæ¹åããŸããã
- æ°ãã WPF æ©èœã䜿çšããããã« WpfApp ã匷åããŸããã ãµã³ãã«ããŒã¿ãšãã¢ã¯ãã£ããªããã¥ã¡ã³ãã®çŸåšã®éžæã远跡ãã衚瀺ãã€ã³ã远å ããŸããã