From 0314029da4a771370c235ace94d7e71a61da0474 Mon Sep 17 00:00:00 2001 From: Felix Schulze Date: Sat, 4 Dec 2010 13:10:00 +0100 Subject: [PATCH] GUI-Improvements for easier understanding --- Icon.png | Bin 0 -> 30103 bytes MainWindow.xib | 634 +++++++++++++++++++++++++++++++++++++++++++++++- include/LICENSE | 127 ++++++++++ 3 files changed, 750 insertions(+), 11 deletions(-) create mode 100644 Icon.png create mode 100644 include/LICENSE diff --git a/Icon.png b/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b31bfdae5ed433010463ac680455749ec219d60d GIT binary patch literal 30103 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 literal 0 HcmV?d00001 diff --git a/MainWindow.xib b/MainWindow.xib index 44bd13d..0353d21 100644 --- a/MainWindow.xib +++ b/MainWindow.xib @@ -1,14 +1,14 @@ - 800 - 10D540 - 760 - 1038.29 - 460.00 + 1024 + 10H574 + 823 + 1038.35 + 461.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 81 + 132 YES @@ -43,6 +43,163 @@ 1316 + + YES + + + 1314 + + YES + + + 1316 + {{297, 12}, {18, 19}} + + NO + IBCocoaTouchFramework + 0 + 0 + + Helvetica-Bold + 15 + 16 + + 3 + YES + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + + {{0, 20}, {320, 44}} + + IBCocoaTouchFramework + 1 + + YES + + + OpenSSL-for-iOS + + IBCocoaTouchFramework + + + + IBCocoaTouchFramework + + + + + + 1316 + {{86, 142}, {147, 35}} + + NO + IBCocoaTouchFramework + 0 + 0 + + 1 + Calculate MD5 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + + + 1316 + {{20, 185}, {87, 21}} + + NO + YES + 7 + NO + IBCocoaTouchFramework + MD5-Hash: + + 1 + MCAwIDAAA + + + 1 + 10 + + + + 1316 + {{20, 214}, {285, 31}} + + NO + YES + IBCocoaTouchFramework + NO + 0 + + 3 + + 3 + MAA + + 2 + + + YES + 17 + + IBCocoaTouchFramework + + + + + 1316 + {{19, 103}, {286, 31}} + + NO + YES + IBCocoaTouchFramework + 0 + Enter an Text here + 3 + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + 1316 + {{19, 74}, {42, 21}} + + NO + YES + 7 + NO + IBCocoaTouchFramework + Text: + + + 1 + 10 + + {320, 480} @@ -76,6 +233,40 @@ 5 + + + showInfo + + + 1 + + 20 + + + + md5TextField + + + + 26 + + + + textField + + + + 31 + + + + calculateMD5: + + + 1 + + 32 + @@ -91,6 +282,12 @@ YES + + + + + + @@ -110,6 +307,63 @@ + + 10 + + + YES + + + + + + 11 + + + YES + + + + + + 19 + + + YES + + + + + + 18 + + + + + 22 + + + + + 24 + + + + + 25 + + + + + 29 + + + + + 30 + + + @@ -118,16 +372,36 @@ YES -1.CustomClassName -2.CustomClassName + 10.IBPluginDependency + 11.IBPluginDependency + 18.IBPluginDependency + 18.IBViewBoundsToFrameTransform 2.IBAttributePlaceholdersKey 2.IBEditorWindowLastContentRect 2.IBPluginDependency + 22.IBPluginDependency + 22.IBViewBoundsToFrameTransform + 24.IBPluginDependency + 24.IBViewBoundsToFrameTransform + 25.IBPluginDependency + 25.IBViewBoundsToFrameTransform + 29.IBPluginDependency + 29.IBViewBoundsToFrameTransform 3.CustomClassName 3.IBPluginDependency + 30.IBPluginDependency + 30.IBViewBoundsToFrameTransform YES UIApplication UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + P4AAAL+AAABCxAAAw4EAAA + YES @@ -135,10 +409,30 @@ YES - {{198, 376}, {320, 480}} + {{522, 105}, {320, 480}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + P4AAAL+AAABCrAAAw4CAAA + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + P4AAAL+AAABBoAAAw7OAAA + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + P4AAAL+AAABBoAAAw8cAAA + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + P4AAAL+AAABBmAAAwysAAA + OpenSSL_for_iPhoneAppDelegate com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + P4AAAL+AAABBmAAAwrYAAA + @@ -157,7 +451,7 @@ - 9 + 32 @@ -165,9 +459,76 @@ OpenSSL_for_iPhoneAppDelegate NSObject + + YES + + YES + calculateMD5: + showInfo + + + YES + id + id + + + + YES + + YES + calculateMD5: + showInfo + + + YES + + calculateMD5: + id + + + showInfo + id + + + - window - UIWindow + YES + + YES + md5TextField + textField + window + + + YES + UITextField + UITextField + UIWindow + + + + YES + + YES + md5TextField + textField + window + + + YES + + md5TextField + UITextField + + + textField + UITextField + + + window + UIWindow + + IBProjectSource @@ -183,9 +544,260 @@ + + YES + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIAccessibility.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UINibLoading.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIResponder.h + + + + UIApplication + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIApplication.h + + + + UIBarButtonItem + UIBarItem + + IBFrameworkSource + UIKit.framework/Headers/UIBarButtonItem.h + + + + UIBarItem + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIBarItem.h + + + + UIButton + UIControl + + IBFrameworkSource + UIKit.framework/Headers/UIButton.h + + + + UIControl + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIControl.h + + + + UILabel + UIView + + IBFrameworkSource + UIKit.framework/Headers/UILabel.h + + + + UINavigationBar + UIView + + IBFrameworkSource + UIKit.framework/Headers/UINavigationBar.h + + + + UINavigationItem + NSObject + + + + UIResponder + NSObject + + + + UISearchBar + UIView + + IBFrameworkSource + UIKit.framework/Headers/UISearchBar.h + + + + UISearchDisplayController + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UISearchDisplayController.h + + + + UITextField + UIControl + + IBFrameworkSource + UIKit.framework/Headers/UITextField.h + + + + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIPrintFormatter.h + + + + UIView + + + + UIView + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIView.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UINavigationController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UIPopoverController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UISplitViewController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UITabBarController.h + + + + UIViewController + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIViewController.h + + + + UIWindow + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIWindow.h + + + 0 IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 @@ -193,6 +805,6 @@ YES OpenSSL-for-iPhone.xcodeproj 3 - 81 + 132 diff --git a/include/LICENSE b/include/LICENSE new file mode 100644 index 0000000..a2c4adc --- /dev/null +++ b/include/LICENSE @@ -0,0 +1,127 @@ + + LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a dual license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. Actually both licenses are BSD-style + Open Source licenses. In case of any license issues related to OpenSSL + please contact openssl-core@openssl.org. + + OpenSSL License + --------------- + +/* ==================================================================== + * Copyright (c) 1998-2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + Original SSLeay License + ----------------------- + +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +