JP2005129022A - コンピュータプラットフォームのプログラミングインターフェース - Google Patents
コンピュータプラットフォームのプログラミングインターフェース Download PDFInfo
- Publication number
- JP2005129022A JP2005129022A JP2004264629A JP2004264629A JP2005129022A JP 2005129022 A JP2005129022 A JP 2005129022A JP 2004264629 A JP2004264629 A JP 2004264629A JP 2004264629 A JP2004264629 A JP 2004264629A JP 2005129022 A JP2005129022 A JP 2005129022A
- Authority
- JP
- Japan
- Prior art keywords
- services
- group
- interface
- programming interface
- functions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Input From Keyboards Or The Like (AREA)
- Processing Or Creating Images (AREA)
Abstract
【解決手段】 プログラミングインターフェースが、アプリケーション、文書、媒体プレゼンテーション、および他の内容を生成する機能を提供する。これらの機能を用いると、開発者が、オペレーティングシステム、オブジェクトモデルサービス、あるいは他のシステムまたはサービスからサービスを得られるようになる。
【選択図】 図2
Description
図1に、.NET(商標)Frameworkなどのネットワークプラットフォームを実装できるネットワーク環境100を示す。ネットワーク環境100には、ネットワーク104(たとえばインターネット)上でアクセスできるサービスを提供する、代表的なウェブサーバ102(1)、…、102(N)が含まれる。一般に符号102として参照されるウェブサービスは、リモートプロシージャコール(RPC)またはオブジェクトブローカ型技術などの、ネットワークを介してウェブサービスと相互作用する他の手段も使用することができるが、通常は、XML、SOAP、WAP(wireless application protocol)、HTTP(ハイパーテキスト転送プロトコル)、およびSMTP(シンプルメール転送プロトコル)などの産業界標準ウェブプロトコルを介してネットワーク104上でプログラム的に相互作用する、再利用可能なプログラマブルアプリケーションコンポーネントである。ウェブサービスは、自己記述的とすることができ、しばしば、メッセージのフォーマットおよび順序に関して定義される。
図2に、プログラミングフレームワーク132を詳細に示す。共通言語仕様(CLS)レイヤ140は、さまざまな言語130(1)、130(2)、130(3)、130(4)、…、130(K)で記述されたアプリケーションをサポートする。そのようなアプリケーション言語に、Visual Basic、C++、C#、COBOL、Jscript、Perl、Eiffel、Pythonなどが含まれる。共通言語仕様140は、それに従う場合にさまざまな言語が通信できるようなる特徴のまたは特徴に関するルールのサブセットを指定する。たとえば、いくつかの言語は、共通言語ランタイム144によってサポートされる可能性がある所与の型(たとえば、「int*」型)をサポートしない。この場合に、共通言語仕様140に、その型が含まれない。その一方で、すべてまたはほとんどの言語によってサポートされる型(たとえば、「int[]」型)は、共通言語仕様140に含まれ、したがって、ライブラリ開発者は、それを使用することができ、言語がそれを処理できることが保証される。この通信の能力は、ある言語で記述されたコードモジュールと別の言語で記述されたコードモジュールの間のシームレスな統合をもたらす。異なる言語が、特定のタスクに特によく適するので、言語の間のシームレスな統合によって、開発者が、特定のコードモジュールに対し特定の言語を選択でき、そのコードモジュールを異なる言語で記述されたモジュールと共に使用する能力が与えられる。共通言語ランタイム144を用いると、クロス言語継承と共にシームレスなマルチ言語開発が可能になり、複数プログラミング言語の堅牢で保護された実行環境が提供される。共通言語仕様140および共通言語ランタイム144に関するさらなる情報については、特許文献1、表題「Method and System for Compiling Multiple Languages」および特許文献2、表題「Unified Data Type System and Method」を参照されたい。
図3に、プレゼンテーションサブシステム200の一部を詳細に示す。一実施形態で、名前空間が、名前のストリングがピリオドによって連結される階層命名規約に従って識別される。たとえば、プレゼンテーションサブシステム200は、ルート名「System.Windows」によって識別される。「System.Windows」名前空間内に、「System.Windows.Controls」として識別される、さまざまなコントロールの別の名前空間があり、この名前空間は、さらに、「System.Windows.Controls.Primitives」と称する、プリミティブ(図示せず)のもう1つの名前空間を識別する。この命名規約を念頭において、以下では、API142の選択された名前空間の一般的な概要を示すが、他の命名規約を使用して同等の効果を得ることができる。
・AccessKey − AccessKeyは、文字をラップし、その文字をキーボードニーモニックとして示すキーボードキュー装飾を受け取ることを示す、FrameworkElement要素である。デフォルトで、キーボードキュー装飾は、下線である。
・Audio − Audio要素。
・Border − ボーダー、バックグラウンド、またはその両方を、別の要素の回りに描く。
・Button − Clickイベントに固有に反応する標準ボタンコンポーネントを表す。
・Canvas − Canvas領域に関連して座標によってユーザが子要素を明示的に位置決めできる領域を定義する。
・CheckBox − ユーザに、真/偽などのオプションを与えるためにCheckBoxを使用する。CheckBoxを用いると、ユーザが、オプションのリストから選択できるようになる。CheckBoxコントロールによって、ユーザが、オプションの組合せを選択できるようになる。
・CheckedChangedEventArgs − CheckedChangedEventArgsクラスには、CheckedChangedEventイベントに関する追加情報が含まれる。
・CheckStateChangedEventArgs − CheckStateChangedEventArgsクラスには、 CheckStateChangedEventイベントに関する追加情報が含まれる。
・ClickEventArgs − Clickイベントに関する情報を含む。
・ColumnStyle − 変更可能なColumnStyleオブジェクトを表す。
・ColumnStyles − Changeable要素のコレクションである変更可能なパターンのIListオブジェクト。
・ComboBox − ComboBoxコントロール。
・ComboBoxItem − ComboBox内部で選択可能なアイテムを実装するコントロール。
・ContactPickerDialog − ユーザが1つまたは複数の連絡先を選択できるようにする。
・ContactPropertyRequest − アプリケーションが、ContactPickerDialogを介して連絡先プロパティに関する情報を要求できるようにする。このクラスを継承することはできない。
・ContactPropertyRequestCollection - ContactPropertyRequestオブジェクトのコレクションを表す。
・ContactSelection − Microsoft(登録商標)Windows(登録商標)File System、コードネーム「WinFS」またはMicrosoft Active Directory(登録商標)からの、選択された連絡先に関する情報。
・ContactSelectionCollection − ContactSelectionオブジェクトのコレクションを表す。
・ContactTextBox − 連絡先または連絡先のプロパティの選択をサポートするエディットコントロール。
・ContactTextBoxSelectionChangedEventArgs − ContactTextBoxSelectionChangedイベントの引数。
・ContactTextBoxTextChangedEventArgs − ContactTextBoxTextChangedイベントの引数。
・ContactTextBoxTextResolvedEventArgs − TextResolvedToContactイベントの引数。
・ContentChangedEventArgs − ContentChangedEventのイベント引数。
・ContentControl − 単一の内容を有するすべてのコントロールの基本クラス。
・ContentPresenter − ContentPresenterは、コンテンツコントロールのスタイルで、コンテンツが追加されるコントロールのビジュアルツリー(chromeテンプレート)内の位置を表すのに使用される。
・ContextMenu − ユーザが呼び出す選択肢のメニューを定義するコントロール。
・ContextMenuEventArgs − ContextMenuEventに送られるデータ。
・Control −すべてのユーザ対話要素の基本クラスを表す。このクラスは、そのサブクラスのプロパティの基本的なセットを提供する。
・Decorator − ボーダーなど、単一の子要素の上または周囲にエフェクトを適用する要素の基本クラス。
・DockPanel − 互いに関して水平にまたは垂直にのいずれかで子要素を配置できる領域を定義する。
・DragDeltaEventArgs − DragDeltaEventArgsクラスには、DragDeltaEventイベントに関する追加情報が含まれる。
・FixedPanel − FixedPanelは、自動ページ付け(pagination)について固定されたページを含む固定フォーマット文書において使用されるルート要素である。FixedPanelは、一度に1ページまたはページのスクロール可能なスタックとして、自動ページ付けされたコンテンツを表示する。
・FlowPanel − FlowPanelは、単一行の長さを超えるコンテンツを、改行、ラップ、および位置合せするのに使用される。FlowPanelは、コンテナのコンテンツ、たとえばTextのフローが単一行の長さを超える可能性が高いときに使用できる、改行プロパティおよび位置合せプロパティを提供する。
・Frame − 別のマークアップツリーのコンテンツをロードできる領域。
・Generator − Generatorは、ItemsControlの代わりにUIを生成し、GeneratorFactoryの監督下で働くオブジェクトである。
・GeneratorFactory − GeneratorFactoryは、ItemsControlの代わりにUIを生成する責任を負う。GeneratorFactoryは、コントロールのItemsCollection(フラット化されたビュー)のアイテムとそれに対応するUIElementの間の関連付けを維持する。コントロールのアイテムコンテナは、ファクトリにGeneratorを要求することができ、ファクトリは、実際のUIの生成を行う。
・GridPanel − 行および列からなるグリッド領域を定義する。
・HeaderItemsControl − 複数のアイテムを含み、ヘッダを有するすべてのコントロールの基本クラス。
・HorizontalScrollBar − 水平スクロールバークラス。
・HorizontalSlider −水平スライダクラス。
・HyperLink − HyperLinkクラスでは、ナビゲーションコントロールが実装される。デフォルトプレゼンタは、TextPresenterである。
・Image − 文書またはアプリケーションにイメージを含める簡単な方法を提供する。
・IncludeContactEventArgs − ContactPickerDialog.IncludeContactイベントのハンドラに渡される引数。
・ItemCollection − コントロール内の個別のアイテムのコレクションを維持する。コレクションコンテンツの変更およびコンテンツに関するデータの入手を可能にするメソッドおよびプロパティを提供する。
・ItemsChangedEventArgs − ItemsChangedイベントは、アイテムコレクションが変更したレイアウトを知らせるためにGeneratorFactoryによって引き起こされる。
・ItemsControl − 複数の子を有するすべてのコントロールの基本クラス。
・ItemsView − ItemsViewはItemCollectionのフラット化されたビューを提供する。
・KeyboardNavigation − KeyboardNavigationクラスは、フォーカス可能コントロールの間の、論理(タブ)ナビゲーションおよび方向付き(矢印)ナビゲーションのメソッドを提供する
・ListBox − 選択可能なアイテムのリストを実装するコントロール。
・ListItem − ListBox内部の選択可能アイテムを実装するコントロール。
・Menu − ユーザが呼び出す選択肢のメニューを定義するコントロール。
・MenuItem − メニューの子アイテム。MenuItemを選択してコマンドを呼び出すことができる。MenuItemは、セパレータとすることができる。MenuItemは、サブメニューのヘッダとすることができる。MenuItemは、チェック付きまたはチェックなしにすることができる。
・PageViewer − 自動ページ付けコントロール、ツールバー、およびページバーコントロールを含む文書表示コンポジットコントロールを表す。
・PaginationCompleteEventArgs − PaginationCompleteEventのイベント引数。
・PaginationProgressEventArgs − PaginationProgressEventのイベント引数。
・Pane − 新しいウィンドウを起動せずにマークアップ言語(たとえば「XAML」)でウィンドウプロパティを定義する方法を提供する。
・Panel − すべてのPanel要素の基本クラスを提供する。Panel要素をインスタンス化するためには、派生具象クラスを使用する。
・RadioButton − RadioButtonは、2つの状態すなわち真または偽を有するオプションボタンを実装する。
・RadioButtonList − このコントロールは、RadioButtonのグループ化コントロールとして働き、RadioButtonを相互排他的に処理する部分である。RadioButtonListは、Selectorから継承する。RadioButtonListは、本質的に単一のSelectionModeセレクタであり、(Selectorからの)選択という概念は、これがグループ化するRadioButtonのCheckedプロパティをキーオフとする。
・RowStyle − 変更可能なパターンChangeable要素。
・RowStyles − Changeable要素のコレクションである変更可能なパターンのIListオブジェクト。
・ScrollChangeEventArgs − ScrollChangeEventsArgsは、スクロール状態の変更を記述する。
・ScrollViewer −
・SelectedItemsCollection − Selectorの選択されたアイテムのコンテナ。
・SelectionChangedEventArgs − 選択変更イベントハンドラへの入力。
・SimpleText − SimpleTextは、ユーザインターフェース(UI)シナリオでの使用を想定された軽量で、複数行の、単一フォーマットテキスト要素である。SimpleTextは、複数の同一のフォーマッティングプロパティをTextとして公開し、しばしば、ある多用途性を犠牲にして性能を高めるのに使用することができる。
・StyleSelector − StyleSelectorを用いると、アプリケーション作成者がカスタムスタイル選択ロジックを提供できるようになる。たとえば、ContentとしてクラスBugを用いて、Pri1バッグに特定のスタイル、Pri2バッグに異なるスタイルを使用する。アプリケーション作成者は、派生セレクタクラスでSelectStyleメソッドをオーバーライドし、このクラスのインスタンスにContentPresenterクラスのStyleSelectorプロパティを割り当てることができる。
・Text − Textの複数のフォーマットをレンダリングできるTextコントロールを表す。Textは、アプリケーションUI内で最もよく使用される。より高度なテキストシナリオは、TextPanelの追加の機能セットから利益を得る。比較的単純なテキストサポートが必要である場合のほとんどで、Textは、軽量の性質および機能の範囲のゆえに、好ましい要素である。
・TextBox − テキスト入力を受け入れる編集可能な領域を提供するコントロールを表す。
・TextChangedEventArgs − TextChangedEventArgsクラスは、TextRange.SetText()によって送出されるイベントに関連するRoutedEventArgsの型を表す。
・TextPanel − テキストをフォーマットし、サイズを変更し、描画する。TextPanelは、複数の行のテキストおよび複数のテキストフォーマットをサポートする。
・ToolTip − ユーザがコントロールの上でホバリングするときに情報を表示するコントロール。
・ToolTipEventArgs − ToolTipEvent時に送られるデータ。
・TransformDecorator − TransformDecoratorは、子を含み、指定された変換をその子に適用する。TransformDecoratorは、変換後に子がデコレータの空間にぴたりとおさまり、最大限の領域を使用するように、そのローカル(変換前)座標で子を測定し、配置するロジックを実装する。したがって、子は、それに適用される変換の知識を有する必要がない。
・UIElementCollection − UIElementCollectionは、UIElementの順序付きコレクションである。
・ValueChangedEventArgs − このValueChangedEventArgsクラスには、ValueChangedEventイベントに関する追加情報が含まれる。
・VerticalScrollBar − 垂直スクロールバークラス。
・VerticalSlider − 垂直スライダクラス。
・Video − 現在のユーザ座標系内の指定された長方形でストリーミングビデオファイルまたはストリーミングオーディオファイルを再生する。
・VisibleChangedEventArgs − VisibleChangedEventArgsクラスには、VisibleChangedEventイベントに関する追加情報が含まれる。
・CharacterCase − テキストがタイプされるときにTextBoxコントロール内の文字の大文字小文字を指定する。
・CheckState − チェックボックスなど、チェック付き、チェックなし、または中間状態とすることができるコントロールの状態を指定する。
・ClickMode − Clickイベントを発生させなければならないときを指定する。
・ContactControlPropertyPosition − 連絡先のプロパティの位置およびディスプレイを制御する。
・ContactPickerDialogLayout − ContactPickerDialogが選択されたプロパティをどのように表示すべきかを指定する。
・ContactPropertyCategory − プロパティが、ユーザが選択できる複数の値を有する場合に、どの値をデフォルトとして扱うかを指定する。たとえば、ContactPickerDialogから電話番号プロパティを要求するときに「Work」が好ましいカテゴリとして指定され、ユーザが、仕事場と家庭の両方の電話番号を有する連絡先を選択する場合に、仕事場の電話番号がデフォルト選択として示される。ユーザは、UIを使用して、その代わりに家庭の電話番号を選択することができる。
・ContactPropertyType − ContactPickerDialogがユーザに要求できる連絡先のプロパティを指定する。
・ContactType − どの連絡先型をContactPickerDialogに表示するかを指定する。
・Direction − この列挙は、ジェネレータがUIを作る方向を指定するためにGeneratorFactoryおよびGeneratorによって使用される。
・Dock − DockPanel内の子要素のDock位置を指定する。
・GeneratorStatus − この列挙は、GeneratorFactoryによって、その状況を示すのに使用される。
・KeyNavigationMode − TabNavigationプロパティの型によって、Tabナビゲーションが生じるときにコンテナがフォーカスを移動する方法が指定される。
・MenuItemBehavior − MenuItemが有することができる異なる挙動を定義する。
・MenuItemType − MenuItemsの異なる配置型を定義する。
・Orientation − スライダオリエンテーション型。
・PageViewerFit − ページをPageViewerのクライアント領域にどのように適合させるかを選択する。
・PageViewerMode − モードドロップダウンに反映される現在のPageViewerモードを選択する。
・ScrollerVisibility − ScrollerVisibiltyは、スクロールバーの可視性挙動を定義する。
・SelectionMode − ListBoxの選択挙動を指定する。
・CheckedChangedEventHandler − この委任は、CheckedChangedEventイベントのハンドラによって使用される。
・CheckStateChangedEventHandler − この委任は、CheckStateChangedEventイベントのハンドラによって使用される。
・ClickEventHandler − Clickイベントを処理するメソッドを表す。
・ContactTextBoxSelectionChangedEventHandler − ContactTextBoxSelectionChangedイベントの委任ハンドラ。
・ContactTextBoxTextChangedEventHandler − ContactTextBoxTextChangedイベントの委任ハンドラ。
・ContactTextBoxTextResolvedEventHandler − TextResolvedToContactイベントの委任ハンドラ。
・ContentChangedDelegate − ContentChangedEventに関する委任。
・ContextMenuEventHandler − ContextMenuEventを処理するコールバック型。
・DragDeltaEventHandler − この委任は、DragDeltaEventイベントのハンドラによって使用される。
・IncludeContactEventHandler − ContactPickerDialog.IncludeContactイベントのハンドラ。
・ItemsChangedEventHandler − ItemsChangedEventArgsを受け取るハンドラに使用される委任。
・OpenedEventHandler − ContactPickerDialog.Openedイベントのハンドラ。
・PaginationCompleteDelegate − PaginationCompleteEventに関する委任。
・PaginationProgressDelegate − PaginationProgressEventに関する委任。
・ScrollChangeEventHandler − この委任は、ScrollChangeEventイベントのハンドラによって使用される。
・SelectionChangedEventHandler − 選択変更イベントの処理に関する委任型。
・TextChangedEventHandler − TextChangedEventArgsを受け取るハンドラに使用される委任。
・ToolTipEventHandler − ToolTipEventの処理に関するコールバック型。
・ValueChangedEventHandler − この委任は、ValueChangedEventイベントのハンドラによって使用される。
・VisibleChangedEventHandler − この委任は、VisibleChangedEventイベントのハンドラによって使用される。
・PageBar − スクロール可能自動ページ付けコントロールを表す。
・PageElement − 自動ページ付けされたコンテンツの特定のページをレンダリングする。レンダリングされるページは、PageSourceプロパティによって指定される。
・PageHoveredEventArgs − PageHoveredEventArgsは、マウスポインタがホバリングしている場所に関する情報を提供する。
・PageScrolledEventArgs − PageScrolledEventArgsには、PageScrolledEventに関する情報が含まれる。
・PageSelectedEventArgs − PageSelectedEventは、新しい行/列範囲選択が行われるときに発せられる。
・PageSelector − PageSelector:ページのうちで表示される行/列の範囲をユーザが選択できるようにする。
・PageSource − 自動ページ付けされるコンテンツのソースを識別する。自動ページ付けされるコンテンツをフォーマットするプロパティおよびメソッドも提供する。
・PageHoveredEventHandler − この委任は、PageHoveredEventイベントのハンドラによって使用される。
・PageScrolledEventHandler − この委任は、PageHoveredイベントのハンドラによって使用される。
・PageSelectedEventHandler − この委任は、PageSelectedEventイベントのハンドラによって使用される。
・ButtonBase − 派生クラスにおいてオーバーライドされるときに、関連するイベントおよびプロパティを定義し、関連する入力イベントのハンドラを提供する。
・Popup − コンテンツを含むフライアウトウィンドウを作成するコントロール。
・RangeBase − 指定された範囲を有する要素の基本クラスを表す。そのような要素の例が、スクロールバーおよびプログレスバーである。このクラスは、関連するイベントおよびプロパティを定義し、そのイベントのハンドラを提供する。
・RepeatButton − RepeatButtonコントロールは、Clickイベントが発生するときの反復セマンティックスを追加する。
・ScrollArea − ScrollAreaは、スクロールに関する有効な要素である。これは、これがクリッピングするコンテンツを含み、そのコンテンツのオフセットおよび範囲を公開するプロパティを提供する。プログラムによってあるいはキーボードまたはマウスホイールを介してスクロールを駆動できるように、デフォルト入力処理も提供する。
・ScrollBar − スクロールバークラス。
・Selector − 子の間からアイテムを選択するコントロールの基本クラス。
・Slider − スライダクラス。
・Thumb − サムコントロールは、スクロールバーの基本的なドラッグ移動機能性およびウィジェットのウィンドウサイズ変更を可能にする。
・ArrowButtonStates −
・CloseModeType − さまざまなマウスイベントに対してポップアップがどのように振る舞うべきかを記述する。
・Part − Part列挙は、スクロールバーを構成するコントロールのセマンティック使用を示すのに使用される。
・PartStates − スクロールバー部品状態。
・PlacementType − ポップアップがスクリーンに置かれるべき場所を記述する。
・SizeBoxStates −
・AdaptiveMetricsContext − AdaptiveMetricsContextは、適応フローフォーマット(adaptive−flow−format)文書のルート要素を提供する。子パネルが、AdaptiveMetricsContext要素でカプセル化されたならば、親パネルのコンテンツは、RME(Reading Metrics Engine)によって処理される。子パネルのサイズは、任意の列の数およびサイズならびに最適のフォントサイズおよび行高さを計算するのに使用される。
・Block − デフォルトレンダリング挙動を誘導しない一般的なブロック要素を実装する。
・BlockElement − すべてのBlock要素の基本クラスを実装する。
・Body − Table要素の本体を含むコンテンツを表す。
・Bold − Inlineから導出されるBold要素を実装する。
・BreakRecord − 改ページにまたがって自動ページ付けされたコンテンツのフォーマッティングを継続するのに必要な情報を保管する。自動ページ付けサポートを提供するためには、このクラスから継承する。これは、抽象クラスである。
・Cell − Cellには、あるTable内の表データが含まれる。Cell要素は、Rowに含まれる。
・CellCollection − テーブルセルの順序付きコレクション。
・Column − Column要素は、GridPanelまたはTableのコンテンツを配分するのに使用される。
・ColumnCollection − ColumnCollectionは、Columnの順序付きコレクションである。
・ColumnResult − 列のビュー関連情報を表す。
・ContainerParagraphResult − 他のParagraphオブジェクトだけを含むParagraphオブジェクトの計算されたレイアウトパラメータへのアクセスを提供する。
・ContentPosition − 段落内のコンテンツの位置を表す。関連するコンテンツの位置を記述するには、このクラスから継承する。これは、抽象クラスである。
・Document − Documentクラスの目的は、文書のコンテンツを、それを囲むUI「chrome」から分離することである。「分離」は、そのUIについて考慮せずに(およびコミットせずに)文書を作成できることを意味する。Documentクラスは、文書コンテンツ、通常はTextPanelまたはFixedPanelと、その子を保持する。ビジュアルツリー(デフォルトでPageViewer)が、WPPコントロールスタイリング機構を介してこの要素に関連付けられる。
・DocumentPage − 自動ページ付けの対象である文書のページに関連するコントロールのレイアウト情報を表す。これらのコントロールのレイアウト情報を記述するには、このクラスから継承する。これは、抽象クラスである。
・DocumentPageParagraphResult − 自動ページ付けによって影響を受けるオブジェクトの計算されたレイアウトパラメータへのアクセスを提供する。
・FindEngine − 検索アルゴリズムの基本クラス。
・FindEngineFactory − 検索アルゴリズムファクトリ。
・FixedPage − 固定フォーマットレイアウト文書内のコンテンツの単一ページへのアクセスを提供する。
・Footer − Table要素のフッタを含むコンテンツを表す。
・Header − Table要素のヘッダを含むコンテンツを表す。
・Heading − ヘディングとしてテキストをレンダリングするブロックレベル要素を実装する。
・HyphenationDictionary − HyphenationDictionaryは、アプリケーション内のハイフネーションサポートを提供するための辞書を表す。これには、インライン辞書と外部辞書への参照との両方を含めることができる。インライン辞書は、より高い優先順位を有し、外部辞書のエントリの前に適用される。
・Hyphenator − Hyphenatorオブジェクトは、HyphenationDictionary内のハイフネーションデータへの参照を維持し、ハイフネーションも実行する。
・Inline − デフォルトレンダリング挙動を全く誘導しない一般的なInline要素を実装する。
・InlineElement − すべてのインライン要素の基本クラスとして、一般的なインライン要素を実装する。
・Italic − Inlineから導出されるItalic要素を実装する。
・LineBreak − 改行を課すマークアップ要素を表す。
・LineResult − テキストの行の計算された情報へのアクセスを提供する。
・List − List要素を実装する。Listは、中黒または番号付けなどのマーカーを用いてフォーマットされるように設計されたブロックレベル要素である。
・ListElementItem − 中黒または番号付けなどのマーカーをサポートする、ListElementItemを実装する。
・Note − HTMLのnote要素に類似する、Note要素を実装する。
・PageBreak − さまざまなページにまたがってコンテンツを分割するのに使用されるマークアップ要素を表す。
・PageDescriptor − 自動ページ付けされたレイアウトを作成するのに必要な情報を保管する、PageDescriptorを実装する。
・Paragraph − 段落のテキストをレンダリングするのに使用されるブロックレベル要素を実装する。レンダリング挙動は、HTMLのparagraph要素のレンダリング挙動に類似する。
・ParagraphResult − Paragraphオブジェクトの計算されたレイアウトパラメータへのアクセスを提供する。
・Row − GridPanel要素またはTable要素内の行を定義する。
・RowCollection − RowCollectionは、Rowの順序付きコレクションを表す。
・RowGroup − TableまたはGridPanel内の行のグループのプロパティデフォルトを指定する。
・Section − 一般的なコンテナ要素を実装する。レンダリング挙動は、HTMLのdiv要素に類似する。
・SmallCaps − インラインSmallCaps要素を実装する。SmallCapsは、タイトルなどで、強調のために文字の小さい大文字版としてレンダリングされる、印刷形態である。
・Subscript − インラインSubscript要素を表す。Subscript文字は、他の文字の真下、左下、または右下に書き込まれる。
・Superscript − インラインSuperscript要素を表す。Superscript文字は、通常は文字または数字であり、他の文字の真上、左上、または右上にレンダリングされる。
・Table − Tableは、マークアップ言語(たとえば「XAML」)を使用して表形式で複雑なデータを表示するのに使用される。
・TextArray − テキストのアクセスおよび操作に関する基本API。
・TextChangedEventArgs − TextChangedEventArgsは、TextArrayが変更されるときに送られるイベント引数を定義する。
・TextElement − TextElementは、TextTreeのTextRange機能を提供する。これは、固定されたエンドポイントを有する不変の、連続的なTextRangeである。これは、ContentElement Input、FocusおよびEventingのサポートを提供する。DependencyObjectプロパティのサポートも提供する。
・TextNavigator − これによって、テキストコンテンツを列挙することができる。移動可能なTextPositionを実装する。テキストラン(text run)によって移動するか、テキスト内の既知のロケーションで位置決めすることができる。
・TextParagraphResult − フローティングオブジェクトおよび図を含む、テキストに関する計算されたレイアウトパラメータへのアクセスを提供する。
・TextPosition − これは、TextArray内のある位置を表すオブジェクトである。テキスト内の位置を表すコンパクトなオブジェクトによって、テキストが変更されるときに位置が自動的に維持される。比較動作は、同一のTextArray(同一のContext)内の位置だけに適用可能である。TextPositionは、スタティックまたは移動可能とすることができる。IsChangeableプロパティによって、位置の種類がわかる。
・TextRange − TextRangeは、プロパティへの0個以上のサブレンジの一般的関連付けを提供する抽象クラスである。サブレンジ操作は、派生クラスで定義される。
・TextRangeMovable − TextRangeMovableは、移動可能なTextRangeの抽象クラスである。このクラスでは、TextUnitsに基づく始点および終点への移動の能力が追加される。
・TextTreeChangedEventArgs − TextChangedEventArgsでは、TextArrayが変更されるときに送られるイベント引数が定義される。
・TextTreeDumper − TreeDumperは、パッケージング問題に起因してパブリックであるツリーテストクラスである。
・TextTreeNavigator − これは、TextTree内のある移動可能位置を表すオブジェクトである。これは、TextTree内のみでの使用されるTextNavigatorの特定の実装である。
・TextTreePosition − これは、TextTree内のある不変の位置を表すオブジェクトである。これは、TextTree内でのみ使用されるTextPositionの特定の実装である。
・TextTreeRange − TextTreeのTextRange機能を提供する。これは、移動可能なエンドポイントを有する、不変の、連続的なTextRangeである。
・TextTreeRangeContentEnumerator − TextTreeRangeの真下のオブジェクト子に対する列挙子。
・TextUnit − テキストナビゲーションの拡張可能な単位。
・TextUnits − TextPositionおよびTextRangeに一般に使用されるテキスト単位。
・Typography − OpenTypeタイポグラフィプロパティの豊富なセットへのアクセスを提供する。
・UIElementParagraphResult − 完全にUIElementから構成される段落のParagraphResult。Floaters、Figures、および組み込みブロックレベルUIElementsに使用される。
・Underline − InlineElementから派生したUnderline要素を実装する。
・IDocumentContentHost − コンテンツホストの子が、コンテンツが変更されるときにホストに通知するようにするために、コンテンツホストでこのインターフェースを実装する。
・IDocumentFormatter − 自動ページ付けなどの文書機能のサポートを提供するには、要素においてこのインターフェースを実装する。
・ITextDocumentResult − 文書の列情報を維持するには、このインターフェースを実装する。
・ITextParagraphResult − テキスト段落に関するテキスト情報および位置情報を提供するには、このインターフェースを実装する。
・ElementEdge − これは、TextPositionが配置されるオブジェクトのエッジを識別する。
・FindAdvancedOptions − FindAlgorithm(検索初期化)クラスおよびTextRangeMovable/TextSelection(単純化された検索実行)クラスによって使用される高度な検索オプション。
・FindOptions − TextBox.Findメソッドによって使用される単純化された検索オプション。
・LogicalDirection − LogicalDirectionは、テキスト内の移動の論理方向を定義する。これは、コンテンツがTextPositionに挿入されるときにTextPositionを移動する先を決定するのにも使用される。
・TextArrayRunType − これは、LogicalDiretionを考慮に入れて、TextPositionが配置される実行(run)を識別する。
・TextChangeOptions − CanChangeTextの可能なテキスト変更。
・TextMoveOptions − ナビゲーションを停止する条件を指定することによって、TextNavigatorの移動を制御する。
・ObjectCloneDelegate − TextArrayの一部がコピーまたは移動されるときにDependencyObjectのクローンまたはコピーを提供するコールバックメソッド。
・TextChangedEventHandler − TextChangedEventHandler委任は、コンテンツがTextTreeに追加されるか除去されるたびに、TextChangedEventArgsを用いて呼び出される。
・Ellipse − 楕円を描く。
・Glyphs − 「XAML」などのマークアップ言語のグリフ形状を表す。グリフは、フォントを表すのに使用される。
・Line − 2点間に直線を描く。
・Path − 一連の接続された直線および曲線を描く。
・Polygon − 多角形(閉じた形状を形成する接続された一連の線)を描く。
・Polyline − 一連の接続された直線を描く。
・Rectangle − 長方形を描く。
・Shape − 楕円、多角形、および長方形などの形状要素の基礎的機能性を提供する抽象クラス。
図4に、プログラミングフレームワーク132を(完全にまたは部分的にのいずれかで)実施できる、適するコンピューティング環境400の例を示す。コンピューティング環境400は、本明細書に記載のコンピュータアーキテクチャおよびネットワークアーキテクチャで使用することができる。
あるコードセグメントから別のコードセグメントへの通信は、通信を複数の個別の通信に分解することによって、間接的に達成することができる。これを、図7および9に概略的に示す。図からわかるように、いくつかのインターフェースを、機能性の分割可能なセットとして記述することができる。したがって、数学的に24または2×2×3×2を提供するように、図5および7のインターフェースの機能性を因数分解して、同一の結果を達成することができる。したがって、図7からわかるように、インターフェースInterface1によって提供される機能を再分割して、このインターフェースの通信を複数のインターフェース、Interface1A、Interface1B、Interface1Cなどに変換し、同一の結果を達成することができる。図8からわかるように、インターフェースI1によって提供される機能性を、複数のインターフェースI1a、I1b、I1cなどに再分割し、それと同時に同一の結果を達成することができる。同様に、第1コードセグメントから情報を受け取る第2コードセグメントのインターフェースI2を、複数のインターフェースI2a、I2b、I2cなどに因数分解することができる。因数分解するときに、第1コードセグメントに含まれるインターフェースの数が、第2コードセグメントに含まれるインターフェースの数と一致する必要はない。図7および9のどちらの場合でも、インターフェースInterface1およびI1の機能的趣旨は、それぞれ図5および7と同一のままである。インターフェースの因数分解は、関連するプロパティ、累算的プロパティ、および他の数学的プロパティに従う場合もあり、因数分解の理解が困難な場合がある。たとえば、動作の順序付けは、重要でない場合があり、その結果、あるインターフェースによって実行される機能を、別のコードまたはインターフェースによって、インターフェースに達するよりかなり前に実行することができ、あるいは、システムの別々の構成要素によって実行することができる。さらに、プログラミング技術の当業者は、同一の結果を達成する異なる関数呼出しを行うさまざまな形があることを理解することができる。
いくつかの場合に、初期の結果を達成しながら、プログラミングインターフェースのある態様(たとえばパラメータ)を無視し、追加し、または再定義することが可能である場合がある。これを、図9および11に示す。たとえば、図5のインターフェースInterface1に、関数呼出しSquare(input、precision、output)すなわち、3つのパラメータinput、precision、およびoutputを含む呼出しであって、第1コードセグメントから第2コードセグメントに発行される関数呼出しが含まれると仮定する。真ん中のパラメータprecisionが、図9に示されているように、所与のシナリオで関係がない場合に、無視することができ、意味のない(この状況)パラメータと置換することができる。関係のない追加のパラメータを追加することもできる。どちらの場合でも、inputが第2コードセグメントによって二乗された後にoutputが返される限り、square(二乗)の機能性を達成することができる。precision(精度)は、コンピューティングシステムの下流または他の部分に意味のあるパラメータとすることもできるが、二乗計算の狭い目的について精度が必要でないことが理解されたならば、置換するか無視することができる。たとえば、結果に悪影響を及ぼさずに、有効な精度値を渡すのではなく、誕生日などの意味のある値を渡すことができる。同様に、図10に示されているように、インターフェースI1が、インターフェースへのパラメータを無視するか追加するために再定義されたインターフェースI1’に置換される。インターフェースI2は、同様に、不要なパラメータを無視するか、ほかで処理できるパラメータについて再定義されたインターフェースI2’として再定義することができる。ここでのポイントは、いくつかの場合に、プログラミングインターフェースに、パラメータなど、ある目的に不要な態様が含まれる場合があり、したがって、それらを無視するか再定義することができ、あるいは、他の目的のために他の形で処理できるということである。
2つの別々のコードモジュールの機能性の一部またはすべてをマージし、これらの間の「インターフェース」の形を変えることが実行可能である場合もある。たとえば、図5および7の機能性を、それぞれ図11および13の機能性に変換することができる。図11では、図5の前の第1コードセグメントおよび第2コードセグメントが、その両方を含む1つのモジュールにマージされている。この場合に、コードセグメントは、まだ互いに通信することができるが、インターフェースは、単一モジュールにより適する形に適合させることができる。したがって、たとえば、前のCallステートメントおよびReturnステートメントは、もはや不要とすることができるが、インターフェースInterface1に準ずる類似する処理または応答を、まだ有効とすることができる。同様に、図12では、図6のインターフェースI2の一部(またはすべて)を、インターフェースI1にインラインで記述して、インターフェースI1”を形成することができる。図からわかるように、インターフェースI2は、I2aおよびI2bに分割され、インターフェース部分I2aは、インターフェースI1とインラインにコーディングされて、インターフェースI1”を形成する。具体的な例として、図6のインターフェースI1が、関数呼出しsquare(input、output)を実行し、これがインターフェースI2によって受け取られ、インターフェースI2は、第2コードセグメントによるinputを用いて渡された値の処理(二乗)の後に、二乗された結果にoutputを用いて返すことを検討されたい。その場合に、第2コードセグメントによって実行される処理(inputの二乗)を、インターフェースへの呼出しなしで、第1コードセグメントによって実行することができる。
あるコードセグメントから別のコードセグメントへの通信は、通信を複数の個別の通信に分解することによって、間接的に達成することができる。これを、図13および15に示す。図13からわかるように、1または複数のミドルウェア(機能性および/またはインターフェース機能を元のインターフェースから分離するので、分離インターフェース)を設けて、第1インターフェースInterface1の通信を、異なるインターフェース、この例ではインターフェースInterface2A、Interface2B、およびInterface2Cに従うように変換する。たとえば、これは、たとえばInterface1プロトコルに従ってオペレーティングシステムと通信するように設計されたアプリケーションのインストールベースがあるが、そのオペレーティングシステムが、異なるインターフェース、この例ではインターフェースInterface2A、Interface2B、およびInterface2Cを使用するように変更される場合に行うことができる。ポイントは、第2コードセグメントによって使用された元のインターフェースが、もはや第1コードセグメントによって使用されるインターフェースと互換でなくなるように変更され、したがって、古いインターフェースと新しいインターフェースとに互換性を持たせるため、仲介物が使用されることである。同様に、図14からわかるように、インターフェースI1からの通信を受け取る分離インターフェースDI1を有し、インターフェース機能性を、たとえば、DI2と共に働くが同一の機能的結果を提供するように再設計されているインターフェースI2aおよびI2bに送る、分離インターフェースDI2を有する第3コードセグメントを導入することができる。同様に、DI1およびDI2は、同一のまたは類似する機能的結果を提供しながら、図6のインターフェースI1およびI2の機能性を変換するように一緒に働くことができる。
もう1つの可能な変形形態が、コードを動的に再記述して、インターフェース機能性を、同一の総合的な結果を達成する別のものに置換することである。たとえば、中間言語(たとえば、Microsoft(登録商標) IL、Java(登録商標) ByteCodeなど)で提示されるコードセグメントを、実行環境(.NET framework(登録商標)、Java(登録商標)ランタイム環境、または類似するランタイムタイプ環境によって提供されるものなど)内のジャストインタイム(JIT)コンパイラまたはインタープリタに供給するシステムがある。JITコンパイラは、第1コードセグメントから第2コードセグメントへの通信を動的に変換する、すなわち、それらを、第2コードセグメント(元のまたは異なる第2コードセグメント)が必要とする可能性がある異なるインターフェースに合わせることができる。これを、図15および17に示す。図15からわかるように、この手法は、上で説明した分離シナリオに似ている。これは、たとえば、アプリケーションのインストールベースが、Interface1プロトコルに従ってオペレーティングシステムと通信するように設計されているが、オペレーティングシステムが、異なるインターフェースを使用するように変更される場合に行うことができる。 JITコンパイラを使用して、通信を、オンザフライでインストールベースアプリケーションからオペレーティングシステムの新しいインターフェースに合わせることができる。 図16からわかるように、インターフェースを動的に再記述するこの手法は、動的因数分解、または他の形のインターフェースの変更にも適用することができる。
本発明を、構造的特徴および/または方法論的動作に固有の言葉で説明したが、請求項で定義される本発明は、説明した特定の特徴または動作に必ずしも制限されないことを理解されたい。そうではなく、特定の特徴および動作は、請求される発明を実施する例示的な形として開示されたものである。
104 ネットワーク
106,112,114,122〜129 通信リンク
132 プログラミングフレームワーク
142 APIレイヤ
372 名前空間
400 コンピューティング環境
416 ハードディスクドライブ
418 磁気ディスクドライブ
422 光ディスクドライブ
420 リムーバブル不揮発性磁気ディスク
424 リムーバブル不揮発性光ディスク
438 入力装置
Claims (34)
- 1つまたは複数のコンピュータ可読媒体で実施されるプログラミングインターフェースであって、
グラフィカルオブジェクトの生成に関連するサービスの第1群と、
コンテンツのフォーマットに関連するサービスの第2群と、
前記グラフィカルオブジェクトのコンポーネントの作成に関連するサービスの第3群と
を備えたことを特徴とするプログラミングインターフェース。 - サービスの前記第1群、サービスの前記第2群、およびサービスの前記第3群は、共通のプログラミングモデルを共有することを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第1群、サービスの前記第2群、およびサービスの前記第3群は、共通のマークアップ言語を利用することを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第1群、サービスの前記第2群、およびサービスの前記第3群は、共通のイベントシステムを共有することを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第1群、サービスの前記第2群、およびサービスの前記第3群は、共通のプロパティ定義システムを共有することを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第1群、サービスの前記第2群、およびサービスの前記第3群は、共通の入力パラダイムを共有することを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第1群、サービスの前記第2群、およびサービスの前記第3群は、サービスの特定の群に関連する要素内にサービスの別の群に関連する要素をネストすることに関する共通のシステムを共有することを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第1群は、前記グラフィカルオブジェクトの外見を決定するサービスを含むことを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第1群は、前記グラフィカルオブジェクトの挙動を決定するサービスを含むことを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第1群は、前記グラフィカルオブジェクトの配置を決定するサービスを含むことを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第1群は、前記グラフィカルオブジェクトを定義する複数のネストされた要素を含むことを特徴とする請求項1に記載のプログラミングインターフェース。
- 前記グラフィカルオブジェクトは、ベクトルグラフィックスによって定義される1つまたは複数の要素からなることを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第1群は、新しいウィンドウを起動せずにマークアップ言語においてウィンドウプロパティを定義することができることを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第1群は、複数のグラフィカルオブジェクトを含むユーザインターフェースを生成することを特徴とする請求項1に記載のプログラミングインターフェース。
- サービスの前記第2群は、前記グラフィカルオブジェクトを配置することを特徴とする請求項1に記載のプログラミングインターフェース。
- 請求項1に記載の前記プログラミングインターフェースを備えたことを特徴とするソフトウェアアーキテクチャ。
- 1つまたは複数のコンピュータ可読媒体で実施されるアプリケーションプログラムインターフェースであって、
グラフィカルオブジェクトの生成に関連するサービスの第1群と、
コンテンツのフォーマットに関連するサービスの第2群と、
前記グラフィカルオブジェクトのコンポーネントの作成に関連するサービスの第3群と
を備え、サービスの前記第1群、サービスの前記第2群、およびサービスの前記第3群は、共通のプログラミングモデルを共有することを特徴とするアプリケーションプログラムインターフェース。 - サービスの前記第1群、サービスの前記第2群、およびサービスの前記第3群は、共通のマークアップ言語を利用することを特徴とする請求項17に記載のアプリケーションプログラムインターフェース。
- サービスの前記第3群は、幾何学的形状を生成するサービスを含むことを特徴とする請求項17に記載のアプリケーションプログラムインターフェース。
- サービスの前記第2群は、複数のデータ要素を配置することを含むことを特徴とする請求項17に記載のアプリケーションプログラムインターフェース。
- サービスの前記第1群は、
グラフィカルオブジェクトの外見を決定するサービスと、
前記グラフィカルオブジェクトの挙動を決定するサービスと
を含むことを特徴とする請求項17に記載のアプリケーションプログラムインターフェース。 - サービスの前記第1群は、新しいウィンドウを起動せずにマークアップ言語においてウィンドウプロパティを定義するサービスを含むことを特徴とする請求項17に記載のアプリケーションプログラムインターフェース。
- 1つまたは複数のマイクロプロセッサおよび1つまたは複数のソフトウェアプログラムを含むコンピュータシステムであって、前記1つまたは複数のソフトウェアプログラムは、オペレーティングシステムからサービスを要求するプログラミングインターフェースを利用し、前記プログラミングインターフェースは、
グラフィカルオブジェクトを生成するサービスの第1群と、
前記グラフィカルオブジェクトのコンポーネントを生成するサービスの第2群と
からなるサービスを要求する別々のコマンドを備え、サービスの前記第1群およびサービスの前記第2群は、共通のプログラミングモデルを共有することを特徴とするコンピュータシステム。 - サービスの前記第1群は、
前記グラフィカルオブジェクトの外見を定義するサービスと、
前記グラフィカルオブジェクトの配置を定義するサービスと
を含むことを特徴とする請求項23に記載のコンピュータシステム。 - サービスの前記第2群は、複数の幾何学的形状を生成するサービスを含むことを特徴とする請求項23に記載のコンピュータシステム。
- グラフィカルオブジェクトの生成を容易にする1つまたは複数の第1機能を呼び出すステップと、
コンテンツのフォーマットを容易にする1つまたは複数の第2機能を呼び出すステップと
を備え、前記第1機能および前記第2機能は、共通のプログラミングモデルを共有することを特徴とする方法。 - 前記グラフィカルオブジェクトのコンポーネントの作成を容易にする1つまたは複数の第3機能を呼び出すステップをさらに備えたことを特徴とする請求項26に記載の方法。
- 前記グラフィカルオブジェクトに含まれる幾何学的形状の生成を容易にする1つまたは複数の第3機能を呼び出すステップを備えたことをさらに特徴とする請求項26に記載の方法。
- 前記第1機能は、
新しいウィンドウを起動せずにマークアップ言語でウィンドウプロパティを定義し、および
複数のグラフィカルオブジェクトを含むユーザインターフェースを生成すること
を容易にすることを特徴とする請求項26に記載の方法。 - グラフィカルオブジェクトの生成を可能にする機能の第1セットを公開する手段と、
前記グラフィカルオブジェクトのコンポーネントの作成を可能にする機能の第2セットを公開する手段と
を備え、前記グラフィカルオブジェクトの前記コンポーネントは、複数の幾何学的形状を含み、および機能の前記第1セットおよび機能の前記第2セットは、共通のプログラミングモデルを共有することを特徴とするシステム。 - 機能の前記第2セットは、さらに、ページ上での前記幾何学的形状の配置のレンダリングを可能にすることを特徴とする請求項30に記載のシステム。
- ディスプレイに関するコンテンツのフォーマットを可能にする機能の第3セットを公開する手段をさらに備えたことを特徴とする請求項30に記載のシステム。
- 機能の前記第1セットおよび機能の前記第2セットは、共通のマークアップ言語を利用することを特徴とする請求項30に記載のシステム。
- 機能の前記第1セットおよび機能の前記第2セットは、共通のイベントシステムおよび共通のプロパティ定義システムを共有することを特徴とする請求項30に記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/693,854 US7721254B2 (en) | 2003-10-24 | 2003-10-24 | Programming interface for a computer platform |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011263823A Division JP2012084165A (ja) | 2003-10-24 | 2011-12-01 | コンピュータにユーザインターフェースを生成させるためのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005129022A true JP2005129022A (ja) | 2005-05-19 |
JP2005129022A5 JP2005129022A5 (ja) | 2007-10-25 |
Family
ID=34394601
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004264629A Pending JP2005129022A (ja) | 2003-10-24 | 2004-09-10 | コンピュータプラットフォームのプログラミングインターフェース |
JP2011263823A Withdrawn JP2012084165A (ja) | 2003-10-24 | 2011-12-01 | コンピュータにユーザインターフェースを生成させるためのプログラム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011263823A Withdrawn JP2012084165A (ja) | 2003-10-24 | 2011-12-01 | コンピュータにユーザインターフェースを生成させるためのプログラム |
Country Status (18)
Country | Link |
---|---|
US (1) | US7721254B2 (ja) |
EP (1) | EP1526451A3 (ja) |
JP (2) | JP2005129022A (ja) |
KR (1) | KR20050039551A (ja) |
CN (1) | CN100504766C (ja) |
AU (1) | AU2004205330A1 (ja) |
BR (1) | BRPI0403817A (ja) |
CA (1) | CA2481262A1 (ja) |
CO (1) | CO5630025A1 (ja) |
IL (1) | IL164073A0 (ja) |
MX (1) | MXPA04008850A (ja) |
MY (1) | MY144646A (ja) |
NO (1) | NO332643B1 (ja) |
NZ (1) | NZ535216A (ja) |
RU (1) | RU2365978C2 (ja) |
SG (1) | SG111292A1 (ja) |
TW (1) | TWI348625B (ja) |
ZA (1) | ZA200407298B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014525622A (ja) * | 2011-08-31 | 2014-09-29 | マイクロソフト コーポレーション | オペレーティングシステムのネイティブアプリケーションプログラミングインターフェイスのメタデータを用いた記述 |
US9563487B2 (en) | 2011-08-11 | 2017-02-07 | Microsoft Technology Licensing, Llc. | Runtime system |
US10635504B2 (en) | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9256356B2 (en) * | 2001-03-29 | 2016-02-09 | International Business Machines Corporation | Method and system for providing feedback for docking a content pane in a host window |
US7308288B2 (en) * | 2003-08-22 | 2007-12-11 | Sbc Knowledge Ventures, Lp. | System and method for prioritized interface design |
US7219340B2 (en) * | 2003-10-23 | 2007-05-15 | Microsoft Corporation | Changeable class and pattern to provide selective mutability in computer programming environments |
US7464330B2 (en) * | 2003-12-09 | 2008-12-09 | Microsoft Corporation | Context-free document portions with alternate formats |
US7487448B2 (en) * | 2004-04-30 | 2009-02-03 | Microsoft Corporation | Document mark up methods and systems |
US8661332B2 (en) | 2004-04-30 | 2014-02-25 | Microsoft Corporation | Method and apparatus for document processing |
US7383500B2 (en) * | 2004-04-30 | 2008-06-03 | Microsoft Corporation | Methods and systems for building packages that contain pre-paginated documents |
US7512878B2 (en) * | 2004-04-30 | 2009-03-31 | Microsoft Corporation | Modular document format |
US7617450B2 (en) * | 2004-09-30 | 2009-11-10 | Microsoft Corporation | Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document |
US20060136816A1 (en) * | 2004-12-20 | 2006-06-22 | Microsoft Corporation | File formats, methods, and computer program products for representing documents |
US7617451B2 (en) * | 2004-12-20 | 2009-11-10 | Microsoft Corporation | Structuring data for word processing documents |
US7770180B2 (en) * | 2004-12-21 | 2010-08-03 | Microsoft Corporation | Exposing embedded data in a computer-generated document |
US7752632B2 (en) * | 2004-12-21 | 2010-07-06 | Microsoft Corporation | Method and system for exposing nested data in a computer-generated document in a transparent manner |
US7386558B2 (en) * | 2005-04-22 | 2008-06-10 | Microsoft Corporation | Methods and systems for filtering an Extensible Application Markup Language (XAML) file to facilitate indexing of the logical content contained therein |
US8135750B2 (en) * | 2005-04-22 | 2012-03-13 | Microsoft Corporation | Efficiently describing relationships between resources |
US20070022128A1 (en) * | 2005-06-03 | 2007-01-25 | Microsoft Corporation | Structuring data for spreadsheet documents |
US20060277452A1 (en) * | 2005-06-03 | 2006-12-07 | Microsoft Corporation | Structuring data for presentation documents |
KR20070016851A (ko) * | 2005-08-05 | 2007-02-08 | (주)지큐소프트 | 통합 cdma 환경 3d 가속 엔진 |
US7568035B2 (en) * | 2005-08-30 | 2009-07-28 | Microsoft Corporation | Command binding determination and implementation |
EP1835714B1 (en) * | 2006-03-16 | 2014-05-07 | Océ-Technologies B.V. | Printing via kickstart function |
US7533349B2 (en) * | 2006-06-09 | 2009-05-12 | Microsoft Corporation | Dragging and dropping objects between local and remote modules |
US20080189240A1 (en) * | 2007-02-05 | 2008-08-07 | Mullins Ward R | System, method and software for creating or maintaining local or distributed mapping and transparent persistence of complex data objects and their data relationships |
US7853669B2 (en) | 2007-05-04 | 2010-12-14 | Microsoft Corporation | Mesh-managing data across a distributed set of devices |
US8196112B1 (en) | 2008-02-15 | 2012-06-05 | Amazon Technologies, Inc. | Systems and methods for testing widgets in computer environments |
US8302017B2 (en) * | 2008-03-05 | 2012-10-30 | Microsoft Corporation | Definition for service interface |
US20090235161A1 (en) * | 2008-03-15 | 2009-09-17 | Microsoft Corporation | Lossless Web-Based Editor For Complex Documents |
US8863115B2 (en) * | 2008-03-20 | 2014-10-14 | Sap Ag | Execution of program code having language-level integration of program models |
US9298747B2 (en) * | 2008-03-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | Deployable, consistent, and extensible computing environment platform |
US8533672B2 (en) * | 2008-03-20 | 2013-09-10 | Sap Ag | Extending the functionality of a host programming language |
US8484174B2 (en) * | 2008-03-20 | 2013-07-09 | Microsoft Corporation | Computing environment representation |
US8572033B2 (en) * | 2008-03-20 | 2013-10-29 | Microsoft Corporation | Computing environment configuration |
US9753712B2 (en) * | 2008-03-20 | 2017-09-05 | Microsoft Technology Licensing, Llc | Application management within deployable object hierarchy |
US8533673B2 (en) * | 2008-03-20 | 2013-09-10 | Sap Ag | Language-level integration of programming models |
US20090248737A1 (en) * | 2008-03-27 | 2009-10-01 | Microsoft Corporation | Computing environment representation |
US8527525B2 (en) * | 2008-06-30 | 2013-09-03 | Microsoft Corporation | Providing multiple degrees of context for content consumed on computers and media players |
US8522259B2 (en) * | 2008-11-18 | 2013-08-27 | Accenture Global Services Limited | Event based routing between presentation and business logic components |
WO2010147488A2 (en) * | 2009-06-19 | 2010-12-23 | Core Technology Ltd | External agent interface |
US20110022978A1 (en) * | 2009-07-23 | 2011-01-27 | Rockwell Automation Technologies, Inc. | Intelligent device framework |
US10089119B2 (en) | 2009-12-18 | 2018-10-02 | Microsoft Technology Licensing, Llc | API namespace virtualization |
US9134137B2 (en) | 2010-12-17 | 2015-09-15 | Microsoft Technology Licensing, Llc | Mobile search based on predicted location |
US8504989B2 (en) * | 2011-03-10 | 2013-08-06 | Infosys Limited | Service definition document for providing blended services utilizing multiple service endpoints |
US8695021B2 (en) | 2011-08-31 | 2014-04-08 | Microsoft Corporation | Projecting native application programming interfaces of an operating system into other programming languages |
CN103678340B (zh) * | 2012-09-07 | 2016-09-14 | 腾讯科技(深圳)有限公司 | 浏览器引擎的运行方法、装置、浏览器及终端 |
US9817632B2 (en) | 2013-02-19 | 2017-11-14 | Microsoft Technology Licensing, Llc | Custom narration of a control list via data binding |
US10268446B2 (en) | 2013-02-19 | 2019-04-23 | Microsoft Technology Licensing, Llc | Narration of unfocused user interface controls using data retrieval event |
US20150279233A1 (en) * | 2013-03-14 | 2015-10-01 | Patrick H. Vane | System and Method for Gamefied Rapid Application Development Environment |
US20140272886A1 (en) * | 2013-03-14 | 2014-09-18 | Patrick H. Vane | System and Method for Gamefied Rapid Application Development Environment |
US9189206B2 (en) * | 2013-05-21 | 2015-11-17 | Red Hat, Inc. | System and method for managing immutable objects |
US9710440B2 (en) * | 2013-08-21 | 2017-07-18 | Microsoft Technology Licensing, Llc | Presenting fixed format documents in reflowed format |
EP2902857B1 (de) * | 2014-01-29 | 2018-12-19 | Siemens Aktiengesellschaft | Verfahren zur Bereitstellung von Funktionen innerhalb eines industriellen Automatisierungssystems und industrielles Automatisierungsystem |
US10078314B2 (en) | 2014-01-29 | 2018-09-18 | Siemens Aktiengesellschaft | Method for providing functions within an industrial automation system, and industrial automation system |
GB2538119B8 (en) | 2014-11-21 | 2020-10-14 | Intel Corp | Apparatus and method for efficient graphics processing in virtual execution environment |
US10698571B2 (en) * | 2016-12-29 | 2020-06-30 | Microsoft Technology Licensing, Llc | Behavior feature use in programming by example |
US10352717B2 (en) * | 2017-02-28 | 2019-07-16 | Google Llc | Navigation application programming interface |
CN111859081A (zh) * | 2020-04-10 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种订单发送方法、装置、电子设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000163490A (ja) * | 1998-08-25 | 2000-06-16 | Informix Software Inc | ダイナミックオブジェクトプロパティ |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4914568A (en) | 1986-10-24 | 1990-04-03 | National Instruments, Inc. | Graphical system for modelling a process and associated method |
US5097533A (en) | 1988-11-29 | 1992-03-17 | International Business Machines Corporation | System and method for interfacing computer application programs written in different languages to a software system |
JPH0727505B2 (ja) | 1990-02-12 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | インターフェース方法及びインターフェース・システム |
US5301301A (en) | 1991-01-30 | 1994-04-05 | National Instruments Corporation | Polymorphic dataflow block diagram system and method for programming a computer |
JP2522898B2 (ja) | 1992-09-08 | 1996-08-07 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 動的カストマイズ方法及びグラフィックリソ―ス・エディタ |
EP1156416A3 (en) | 1994-05-16 | 2007-07-18 | Apple Computer, Inc. | A method for editing a theme associated with a graphical user interface (GUI) |
EP0760125B1 (en) | 1994-05-16 | 2002-04-03 | Apple Computer, Inc. | A system and method for customizing appearance and behavior of graphical user interfaces |
JPH08286916A (ja) | 1994-12-16 | 1996-11-01 | Internatl Business Mach Corp <Ibm> | オブジェクトにより手続きソフトウェアを機能的に改良するシステム及び方法 |
US5862379A (en) * | 1995-03-07 | 1999-01-19 | International Business Machines Corporation | Visual programming tool for developing software applications |
EP0834135B1 (en) | 1995-06-15 | 2003-01-02 | Intel Corporation | Architecture for an i/o processor that integrates a pci to pci bridge |
US5872973A (en) | 1995-10-26 | 1999-02-16 | Viewsoft, Inc. | Method for managing dynamic relations between objects in dynamic object-oriented languages |
US5893107A (en) | 1996-07-01 | 1999-04-06 | Microsoft Corporation | Method and system for uniformly accessing multiple directory services |
US5905492A (en) | 1996-12-06 | 1999-05-18 | Microsoft Corporation | Dynamically updating themes for an operating system shell |
DE69728640T2 (de) | 1997-02-21 | 2005-04-21 | Alcatel Sa | Verfahren zur Erzeugung eines Rechnerprogrammes |
PT990356E (pt) | 1997-11-19 | 2002-07-31 | Swisscom Mobile Ag | Aparelho movel cartao inteligente e processo de comunicacoes |
US6188399B1 (en) | 1998-05-08 | 2001-02-13 | Apple Computer, Inc. | Multiple theme engine graphical user interface architecture |
US6392671B1 (en) | 1998-10-27 | 2002-05-21 | Lawrence F. Glaser | Computer pointing device having theme identification means |
CA2255017A1 (en) | 1998-11-30 | 2000-05-30 | Christina P. Lau | Method and mechanism for a task oriented xml data model |
US6353451B1 (en) | 1998-12-16 | 2002-03-05 | Intel Corporation | Method of providing aerial perspective in a graphical user interface |
US7159183B1 (en) | 1999-08-19 | 2007-01-02 | National Instruments Corporation | System and method for programmatically creating a graphical program |
KR20010076789A (ko) | 2000-01-28 | 2001-08-16 | 오길록 | 멀티모달 인터넷 인터페이스 장치 및 방법 |
US6762767B2 (en) | 2000-04-06 | 2004-07-13 | Microsoft Corporation | Theme aware management using fusion |
JP2002014810A (ja) | 2000-04-06 | 2002-01-18 | Microsoft Corp | 融合を用いたテーマ認識処理 |
US6753885B2 (en) * | 2000-04-06 | 2004-06-22 | Microsoft Corporation | System and theme file format for creating visual styles |
US7451453B1 (en) | 2000-11-22 | 2008-11-11 | Microsoft Corporation | DVD navigator and application programming interfaces (APIs) |
US7596791B2 (en) | 2000-12-19 | 2009-09-29 | Emc Corporation | Methods and techniques for delivering rich Java applications over thin-wire connections with high performance and scalability |
US7117504B2 (en) | 2001-07-10 | 2006-10-03 | Microsoft Corporation | Application program interface that enables communication for a network software platform |
US7017162B2 (en) * | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
US7581231B2 (en) * | 2001-07-10 | 2009-08-25 | Microsoft Corporation | Computing system and method for allowing plurality of applications written in different programming languages to communicate and request resources or services via a common language runtime layer |
US7165239B2 (en) * | 2001-07-10 | 2007-01-16 | Microsoft Corporation | Application program interface for network software platform |
US6920461B2 (en) * | 2001-07-10 | 2005-07-19 | Microsoft Corp. | Application program interface for network software platform |
US7546602B2 (en) * | 2001-07-10 | 2009-06-09 | Microsoft Corporation | Application program interface for network software platform |
US20030033593A1 (en) | 2001-08-08 | 2003-02-13 | Evelyn Duesterwald | Dynamic execution layer interface for explicitly or transparently executing application or system binaries |
US20030093419A1 (en) | 2001-08-17 | 2003-05-15 | Srinivas Bangalore | System and method for querying information using a flexible multi-modal interface |
US20030101439A1 (en) * | 2001-11-29 | 2003-05-29 | Giuseppe Desoli | System and method for supporting emulation of a computer system through dynamic code caching and transformation |
WO2004002044A2 (en) | 2002-02-01 | 2003-12-31 | John Fairweather | A system for exchanging binary data |
AUPS145902A0 (en) | 2002-03-28 | 2002-05-09 | Canon Kabushiki Kaisha | A client server approach for interactive updates of graphical user interfaces on intranets |
EP1536451A1 (en) | 2003-11-25 | 2005-06-01 | LG. Philips Displays | Cathode ray tube device with an in-line electron gun |
-
2003
- 2003-10-24 US US10/693,854 patent/US7721254B2/en not_active Expired - Fee Related
-
2004
- 2004-07-21 MY MYPI20042934A patent/MY144646A/en unknown
- 2004-07-21 TW TW093121807A patent/TWI348625B/zh not_active IP Right Cessation
- 2004-08-30 AU AU2004205330A patent/AU2004205330A1/en not_active Abandoned
- 2004-09-02 EP EP04020901A patent/EP1526451A3/en not_active Withdrawn
- 2004-09-08 CO CO04088586A patent/CO5630025A1/es not_active Application Discontinuation
- 2004-09-09 NO NO20043782A patent/NO332643B1/no not_active IP Right Cessation
- 2004-09-09 NZ NZ535216A patent/NZ535216A/en not_active IP Right Cessation
- 2004-09-10 MX MXPA04008850A patent/MXPA04008850A/es not_active Application Discontinuation
- 2004-09-10 JP JP2004264629A patent/JP2005129022A/ja active Pending
- 2004-09-10 BR BR0403817-7A patent/BRPI0403817A/pt not_active IP Right Cessation
- 2004-09-10 CN CNB2004100785287A patent/CN100504766C/zh not_active Expired - Fee Related
- 2004-09-10 SG SG200406481A patent/SG111292A1/en unknown
- 2004-09-10 RU RU2004127216/09A patent/RU2365978C2/ru not_active IP Right Cessation
- 2004-09-10 ZA ZA200407298A patent/ZA200407298B/xx unknown
- 2004-09-13 CA CA002481262A patent/CA2481262A1/en not_active Abandoned
- 2004-09-13 KR KR1020040072994A patent/KR20050039551A/ko not_active Application Discontinuation
- 2004-09-14 IL IL16407304A patent/IL164073A0/xx active IP Right Review Request
-
2011
- 2011-12-01 JP JP2011263823A patent/JP2012084165A/ja not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000163490A (ja) * | 1998-08-25 | 2000-06-16 | Informix Software Inc | ダイナミックオブジェクトプロパティ |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9563487B2 (en) | 2011-08-11 | 2017-02-07 | Microsoft Technology Licensing, Llc. | Runtime system |
JP2014525622A (ja) * | 2011-08-31 | 2014-09-29 | マイクロソフト コーポレーション | オペレーティングシステムのネイティブアプリケーションプログラミングインターフェイスのメタデータを用いた記述 |
US10635504B2 (en) | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
Also Published As
Publication number | Publication date |
---|---|
NO20043782L (no) | 2005-04-25 |
IL164073A0 (en) | 2005-12-18 |
US20050091575A1 (en) | 2005-04-28 |
KR20050039551A (ko) | 2005-04-29 |
CO5630025A1 (es) | 2006-04-28 |
TWI348625B (en) | 2011-09-11 |
US7721254B2 (en) | 2010-05-18 |
EP1526451A3 (en) | 2008-05-07 |
RU2365978C2 (ru) | 2009-08-27 |
BRPI0403817A (pt) | 2005-06-21 |
JP2012084165A (ja) | 2012-04-26 |
CA2481262A1 (en) | 2005-04-24 |
EP1526451A2 (en) | 2005-04-27 |
MY144646A (en) | 2011-10-31 |
CN100504766C (zh) | 2009-06-24 |
AU2004205330A1 (en) | 2005-05-12 |
ZA200407298B (en) | 2006-05-31 |
TW200517869A (en) | 2005-06-01 |
NZ535216A (en) | 2007-04-27 |
MXPA04008850A (es) | 2005-06-17 |
NO332643B1 (no) | 2012-11-26 |
RU2004127216A (ru) | 2006-02-20 |
CN1609793A (zh) | 2005-04-27 |
SG111292A1 (en) | 2005-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7721254B2 (en) | Programming interface for a computer platform | |
AU2004205327B2 (en) | Programming interface for a computer platform | |
US7426734B2 (en) | Facilitating presentation functionality through a programming interface media namespace | |
Nathan | Windows presentation foundation unleashed | |
KR20060087995A (ko) | 작업 흐름을 모델링하는 방법 및 시스템 | |
Nathan | WPF 4 unleashed | |
Nathan | WPF 4.5 Unleashed | |
Ghoda et al. | XAML developer reference | |
Wenz | Essential Silverlight 2 Up-to-Date | |
Chowdhury | Windows Presentation Foundation Development Cookbook: 100 recipes to build rich desktop client applications on Windows | |
Noble et al. | Flex 4 Cookbook: Real-world recipes for developing Rich Internet Applications | |
Sweet | KDE 2.0 Development | |
US7698659B1 (en) | Methods and apparatus for formatting portion of content | |
Sunderaraman | Practical Ext JS 4 | |
Troelsen et al. | WPF Controls, Layouts, Events, and Data Binding | |
Ashley et al. | Foundations of pygtk development | |
Moroney | Foundations of WPF: an introduction to Windows Presentation Foundation | |
Dea et al. | User Interface Controls | |
Allen | Self Handbook Documentation | |
Del Sole et al. | Building Cross-Platform Apps with Xamarin. Forms | |
WinForms | User Interfaces | |
Pickering | User Interfaces | |
Hermes et al. | Building Mobile User Interfaces | |
Dathan et al. | Interactive Systems and the MVC Architecture | |
Hrubiš | Knihovna pro tvorbu uživatelského rozhraní |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070910 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070910 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110408 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110707 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111201 |