Skip to content

Commit

Permalink
-Tooltips
Browse files Browse the repository at this point in the history
-Options disable correctly on startup
-Updated README.carbon
-Set/reset symlink path when checkbox is toggled
-Validate path and symlink as a user manually types in path
-Window switching cleanup
-Installer uses brushed theme for better Mac OS X look/fee
-Removed desktop checkbox
-Link path entry disabled on startup correctly
-Uninstaller/check utility are Finder friendly.
-README fixes (font, resizable)
-Use better textbox for the check utility
-Removed compiler warnings
  • Loading branch information
Zeph committed May 2, 2003
1 parent c48da07 commit 7f2904a
Show file tree
Hide file tree
Showing 13 changed files with 621 additions and 403 deletions.
2 changes: 1 addition & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ COMMON_OBJS = log.o install_log.o
CORE_OBJS = detect.o plugins.o network.o install.o copy.o file.o loki_launchurl.o
OBJS = $(COMMON_OBJS) $(CORE_OBJS) main.o
LOKI_UNINSTALL_OBJS = loki_uninstall.o uninstall_ui.o
CARBON_UNINSTALL_OBJS = carbon_uninstall.o uninstall_carbonui.o
CARBON_UNINSTALL_OBJS = $(COMMON_OBJS) carbon_uninstall.o uninstall_carbonui.o
UNINSTALL_OBJS = $(COMMON_OBJS) uninstall.o
CHECK_OBJS = $(COMMON_OBJS) $(CORE_OBJS) check.o
CHECK_CARBON_OBJS = $(COMMON_OBJS) $(CORE_OBJS) check_carbon.o
Expand Down
108 changes: 62 additions & 46 deletions README.carbon
Original file line number Diff line number Diff line change
@@ -1,46 +1,62 @@
MacOS X Carbon Interface README
-------------------------------

IMPORTANT NOTE:
The MacOS X version is currently in development right now. It is NOT
functional as a full installer, and may not work at all.

WHAT IS DONE:
Not much yet. Upon execution, a very rough version of all the UI screens
are shown in a single window.

PREREQUISITES:
This should build fairly cleanly on MacOS X with the standard libraries.
A few exceptions are libxml (GNOME XML libraries) and libintl (library
for string localization).

LibXML can be compiled cleanly on the Mac with some minor changes. See
http://www.takamaka.info/article/articleview/11/1/7/ for details on how
to get it to compile. These changes apply to the libXML v1.x as well.

I would recommend saving yourself a lot of trouble and downloading the
required libraries on http://fink.sourceforge.net/download/index.php with
"Fink". It's fairly easy to setup, and the current Makefile will look
in /sw/lib (the default Fink install location).
setup.APP INFORMATION
Mac OS X has a specific directory structure for all applications. The
"setup.carbon" binary will NOT function unless it is run from this folder.
The current Makefile will automatically copy a version of setup.carbon
into the correct location (setup.APP/Contents/MacOS). The binary should
be run from this location.
Mac OS X will refuse to create an event loop or acknowledge the binary as
a "windowed" Mac application unless it is inside this setup.APP folder.
You've been warned. :-)

COMPILING
run "make setup.carbon"

Currently you will need to copy the contents of the ./image folder to
the ./setup.APP/Contents/MacOS. Basically the setup.data needs to be
in the same folder as the binary just like the other setup builds.

OTHER NOTES
The setup.carbon build will not get built in any other target. You have to
specifically build this target (even if you say "make all").
MacOS X Carbon Interface README
-------------------------------

IMPORTANT NOTE:
The MacOS X version is currently in BETA. It should be fully functional
but has not been fully tested or approved for "production".

WHAT IS DONE:
Setup, Uninstaller, and Check utilities have all been ported to their
Carbon based counterparts.

PREREQUISITES:
This should build fairly cleanly on MacOS X with the standard libraries.
A few exceptions are libxml (GNOME XML libraries) and libintl (library
for string localization).

LibXML can be compiled cleanly on the Mac with some minor changes. See
http://www.takamaka.info/article/articleview/11/1/7/ for details on how
to get it to compile. These changes apply to the libXML v1.x as well.

I would recommend saving yourself a lot of trouble and downloading the
required libraries on http://fink.sourceforge.net/download/index.php with
"Fink". It's fairly easy to setup, and the current Makefile will look
in /sw/lib (the default Fink install location).
setup.APP INFORMATION
Mac OS X has a specific directory structure for all applications. The
"setup.carbon" binary will NOT function unless it is run from this folder.
The current Makefile will automatically copy a version of setup.carbon
into the correct location (setup.APP/Contents/MacOS). The binary should
be run from this location. This also holds true for the uninstaller and
check utilities. The .APP folders are created for the uninstaller and
check utility once they are built on a machine successfully.
Mac OS X will refuse to create an event loop or acknowledge the binary as
a "windowed" Mac application unless it is inside this setup.APP folder.
You've been warned. :-)

COMPILING
run "make setup.carbon"
run "make carbon_uninstall"
run "make check.carbon"

SPLASH IMAGE
The carbon version does NOT support the XPM format used in other versions.
It currently supports only the JPEG image format. Just specify the splash
image in the setup.xml file in the same way you would previously.

OTHER NOTES
The setup.carbon build will not get built in any other target. You have to
specifically build this target (even if you say "make all").

Unlike the unix version of Loki Setup, the Mac version looks for setup.data
in several different locations to provide maximum flexibility for both
Mac only developers, and developers who wish to create cross-platform
installs.

setup.carbon will search from the location of the binary (setup.carbon) and
work its way up the directory tree up to and including the location of the
.APP folder. This allows the developer to include the install data along
side the .APP folder (if providing a multi-platform installation) or in
the .APP bundle (which would be preferable in a Mac only install).
1 change: 1 addition & 0 deletions carbon/YASTControl.c

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions carbon/YASTControl.h
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/* File: YASTControl.h Description: Yet Another Scrolling Text (YAST) Control. Yast, it lets you edit Unicode text. Author: JM Copyright: © Copyright 2003 Apple Computer, Inc. All rights reserved. Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in consideration of your agreement to the following terms, and your use, installation, modification or redistribution of this Apple software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, modify or redistribute this Apple software. In consideration of your agreement to abide by the following terms, and subject to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs copyrights in this original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the Apple Software, with or without modifications, in source and/or binary forms; provided that if you redistribute the Apple Software in its entirety and without modifications, you must retain this notice and the following text and disclaimers in all such redistributions of the Apple Software. Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to endorse or promote products derived from the Apple Software without specific prior written permission from Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your derivative works or by other works in which the Apple Software may be incorporated. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Change History (most recent first): Fri, Jan 28, 2000 -- created Fri, Jan 14, 2003 -- carbon event based, removed wne codes Fri, Apr 17, 2003 -- added data accessors*/#define TARGET_API_MAC_CARBON 1#ifndef __YASTCONTROL__#define __YASTCONTROL__#include <Carbon/Carbon.h>typedef struct YASTControlEditTextSelectionRec YASTControlEditTextSelectionRec;typedef YASTControlEditTextSelectionRec *YASTControlEditTextSelectionPtr;struct YASTControlEditTextSelectionRec { TXNOffset selStart; TXNOffset selEnd;}; /* the following tags are defined that may be used to access this control by way of GetControlData and SetControlData. */ enum { /* get/set entire contents as a CFString */ kYASTControlAllUnicodeTextTag = kControlStaticTextCFStringTag, /* CFStringRef */ /* get/set current selection as a CFString */ kYASTControlSelectedUnicodeTextTag = 'selt', /* CFStringRef */ /* get/set entire contents as an byte encodeing defined by MLTE's kTXNTextData data encoding type. */ kYASTControlAllTextTag = kControlStaticTextTextTag, /* char* */ /* get/set current selection as an byte encodeing defined by MLTE's kTXNTextData data encoding type. */ kYASTControlSelectedTextTag = 'selc', /* char* */ /* get/set current selection range as a YASTControlEditTextSelectionRec */ kYASTControlSelectionRangeTag = 'tsel', /* YASTControlEditTextSelectionRec */ /* get a reference to the TXNObject used by the control */ kYASTControlTXNObjectTag = 'txob', /* TXNObject - GetControlData only */ /* turn tab key focus advance on or off */ kYASTControlTabsAdvanceFocusTag = 'ftab', /* Boolean (default true) */ /* turn focus ring drawing on or off */ kYASTControlDoDrawFocusTag = 'fdrw', /* Boolean (default true) */ /* control is read only - no typing or editing allowed */ kYASTControlReadOnlyTag = 'rdpm', /* Boolean (default false) */ /* get/set current tab width - you can only use tabs if you turn tab key focus advance off using the kYASTControlTabsAdvanceFocusTag tag. MLTE allows you to set the tab width measured in pixels. */ kYASTControlTabSizeTag = 'tabs' /* SInt16 */}; /* kYASTControlOnlyPart is the only part code that YASTControls have. You can pass this part code to SetKeyboardFocus to focus a YASTControl. */enum { kYASTControlOnlyPart = 1}; /* YASTControlAttachToExistingControl initializes Yet Another Scrolling Text (YAST) control on top of an existing control - preferably a user pane control created in interface builder. Once set up, carbon event handlers installed by this routine take care of everything else, including any necessary internal storage cleanup operations when the control is disposed. */ OSStatus YASTControlAttachToExistingControl(ControlRef theControl); /* CreateYASTControl creates Yet Another Scrolling Text (YAST) control for use in theWindow. Specifically, this routine creates a new user pane control and then calls YASTControlAttachToExistingControl to finish the job. */ OSStatus CreateYASTControl(WindowRef theWindow, Rect *bounds, ControlRef *theControl);#endif
Expand Down
Loading

0 comments on commit 7f2904a

Please sign in to comment.