1*0bdb6530SAndrew Rist# ************************************************************* 2*0bdb6530SAndrew Rist# 3*0bdb6530SAndrew Rist# Licensed to the Apache Software Foundation (ASF) under one 4*0bdb6530SAndrew Rist# or more contributor license agreements. See the NOTICE file 5*0bdb6530SAndrew Rist# distributed with this work for additional information 6*0bdb6530SAndrew Rist# regarding copyright ownership. The ASF licenses this file 7*0bdb6530SAndrew Rist# to you under the Apache License, Version 2.0 (the 8*0bdb6530SAndrew Rist# "License"); you may not use this file except in compliance 9*0bdb6530SAndrew Rist# with the License. You may obtain a copy of the License at 10*0bdb6530SAndrew Rist# 11*0bdb6530SAndrew Rist# http://www.apache.org/licenses/LICENSE-2.0 12*0bdb6530SAndrew Rist# 13*0bdb6530SAndrew Rist# Unless required by applicable law or agreed to in writing, 14*0bdb6530SAndrew Rist# software distributed under the License is distributed on an 15*0bdb6530SAndrew Rist# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*0bdb6530SAndrew Rist# KIND, either express or implied. See the License for the 17*0bdb6530SAndrew Rist# specific language governing permissions and limitations 18*0bdb6530SAndrew Rist# under the License. 19*0bdb6530SAndrew Rist# 20*0bdb6530SAndrew Rist# ************************************************************* 21cdf0e10cSrcweirNotes on API wrapper pieces ... 22cdf0e10cSrcweir 23cdf0e10cSrcweirSvxZoomDialog::SvxZoomDialog( Window* pParent, const SfxItemSet& rCoreSet ) : 24cdf0e10cSrcweir Dialog( pParent, SVX_RES( RID_SVXDLG_ZOOM ) ), 25cdf0e10cSrcweir 26cdf0e10cSrcweirWhat do we do ? 27cdf0e10cSrcweir + lots of potential VCL/Svx/Sfx etc. top-levels ... 28cdf0e10cSrcweir 29cdf0e10cSrcweir + Create the window & the 1st member: 'FooHandle' ? 30cdf0e10cSrcweir + Multiply inherited ? 31cdf0e10cSrcweir + object from where ? 32cdf0e10cSrcweir 33cdf0e10cSrcweir + Default: 34cdf0e10cSrcweir + a pseudo-Dialog / wrapper ... 35cdf0e10cSrcweir + load using layout (etc.) 36cdf0e10cSrcweir + register an SID table ? 37cdf0e10cSrcweir + necessary ? 38cdf0e10cSrcweir + SIDs ? - post it ... 39cdf0e10cSrcweir 40cdf0e10cSrcweir 41cdf0e10cSrcweir + [ Otherwise ... hook up via a helper / 42cdf0e10cSrcweir constructor member ... ] 43cdf0e10cSrcweir 44cdf0e10cSrcweir* Fixed: 45cdf0e10cSrcweir + OKButton / CancelButton 46cdf0e10cSrcweir + don't chain to PushButton::Click 47cdf0e10cSrcweir + if there is no ClickHdl set ... [ !urgh! ...] 48cdf0e10cSrcweir 49cdf0e10cSrcweir * FIXME: 50cdf0e10cSrcweir other widgets ... 51cdf0e10cSrcweir * How do we cope ? * 52cdf0e10cSrcweir .... 53cdf0e10cSrcweir + priorities ? Layout ? 54cdf0e10cSrcweir + de-coupling ? 55cdf0e10cSrcweir + native widgets ? 56cdf0e10cSrcweir + hmm... 57cdf0e10cSrcweir + custom widgets ? 58cdf0e10cSrcweir + 'OKButton' ... (?) :-) 59cdf0e10cSrcweir + 'CancelButton' 60cdf0e10cSrcweir + 'HelpButton' ... 61cdf0e10cSrcweir + a VCL hack ... 62cdf0e10cSrcweir + create an 'addLayout()' method ? 63cdf0e10cSrcweir + [ like cl's ? ] 64cdf0e10cSrcweir + implement this ... 65cdf0e10cSrcweir 66cdf0e10cSrcweir** Lifecycle ? 67cdf0e10cSrcweir + how do we track the 'Impl' 68cdf0e10cSrcweir vs. the pImpl vs. (etc.) 69cdf0e10cSrcweir + held by mutual references ? 70cdf0e10cSrcweir 71cdf0e10cSrcweir + pointer to the widget itself passed in ? 72cdf0e10cSrcweir + MI ? 73cdf0e10cSrcweir + when the widget dies - just NULL the 74cdf0e10cSrcweir listener's back-ptr ? 75cdf0e10cSrcweir 76cdf0e10cSrcweir + Locking [!?] - how / why / what / who ? 77cdf0e10cSrcweir + urgh ... 78cdf0e10cSrcweir + threading bits ... 79cdf0e10cSrcweir 80cdf0e10cSrcweir + SID table (?) ... 81cdf0e10cSrcweir + [ necessary ? - just use the SID name as the XML attr ? ] 82cdf0e10cSrcweir + LAYOUT_ID(a) -> "#a" - stringified ... 83cdf0e10cSrcweir 84cdf0e10cSrcweir** FIXME: 85cdf0e10cSrcweir + we need a decent MetricField implementation 86cdf0e10cSrcweir + it is more than a SpinField 87cdf0e10cSrcweir + need to move the 'Border' property down (etc.) 88cdf0e10cSrcweir + re-arrange the properties to be next to the impls. 89cdf0e10cSrcweir in awt ... 90cdf0e10cSrcweir 91cdf0e10cSrcweir + fix the 92cdf0e10cSrcweir 93cdf0e10cSrcweirXCurrencyField (huh) 94cdf0e10cSrcweir needs implementing for VCLXMetricField (non-existent) ... 95cdf0e10cSrcweir copy the code from XCurrencyField ? make a sub-class there ? 96cdf0e10cSrcweir 97