From f8a35b0751e874f6a097f1d32be658ae3f3f2f0f Mon Sep 17 00:00:00 2001 From: Rnhmjoj Date: Mon, 22 Jul 2013 17:02:52 +0200 Subject: [PATCH] Commit iniziale --- Calcolatrice.xcodeproj/project.pbxproj | 313 ++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 65992 bytes .../WorkspaceSettings.xcsettings | 22 + .../xcdebugger/Breakpoints.xcbkptlist | 5 + .../xcschemes/Somma.xcscheme | 96 ++ .../xcschemes/xcschememanagement.plist | 27 + Calcolatrice/.DS_Store | Bin 0 -> 6148 bytes Calcolatrice/AppDelegate.h | 12 + Calcolatrice/AppDelegate.m | 30 + Calcolatrice/Calcolatrice-Info.plist | 36 + Calcolatrice/Calcolatrice-Prefix.pch | 3 + Calcolatrice/Calcolatrice.entitlements | 8 + Calcolatrice/Normale.h | 16 + Calcolatrice/Normale.m | 62 ++ Calcolatrice/Scientifica.h | 10 + Calcolatrice/Scientifica.m | 127 +++ Calcolatrice/it.lproj/.DS_Store | Bin 0 -> 6148 bytes Calcolatrice/it.lproj/Calcolatrice.xib | 889 ++++++++++++++++++ Calcolatrice/it.lproj/InfoPlist.strings | 2 + Calcolatrice/main.m | 6 + License.txt | 10 + README.md | 9 + 23 files changed, 1690 insertions(+) create mode 100644 Calcolatrice.xcodeproj/project.pbxproj create mode 100644 Calcolatrice.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Calcolatrice.xcodeproj/project.xcworkspace/xcuserdata/Michele.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Calcolatrice.xcodeproj/project.xcworkspace/xcuserdata/Michele.xcuserdatad/WorkspaceSettings.xcsettings create mode 100644 Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist create mode 100644 Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcschemes/Somma.xcscheme create mode 100644 Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Calcolatrice/.DS_Store create mode 100644 Calcolatrice/AppDelegate.h create mode 100644 Calcolatrice/AppDelegate.m create mode 100644 Calcolatrice/Calcolatrice-Info.plist create mode 100644 Calcolatrice/Calcolatrice-Prefix.pch create mode 100644 Calcolatrice/Calcolatrice.entitlements create mode 100644 Calcolatrice/Normale.h create mode 100644 Calcolatrice/Normale.m create mode 100644 Calcolatrice/Scientifica.h create mode 100644 Calcolatrice/Scientifica.m create mode 100644 Calcolatrice/it.lproj/.DS_Store create mode 100644 Calcolatrice/it.lproj/Calcolatrice.xib create mode 100644 Calcolatrice/it.lproj/InfoPlist.strings create mode 100644 Calcolatrice/main.m create mode 100644 License.txt create mode 100644 README.md diff --git a/Calcolatrice.xcodeproj/project.pbxproj b/Calcolatrice.xcodeproj/project.pbxproj new file mode 100644 index 0000000..38628c9 --- /dev/null +++ b/Calcolatrice.xcodeproj/project.pbxproj @@ -0,0 +1,313 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + D120194616B5FD98000B45F6 /* Scientifica.m in Sources */ = {isa = PBXBuildFile; fileRef = D120194516B5FD98000B45F6 /* Scientifica.m */; }; + D120194816B5FDDA000B45F6 /* Calcolatrice.xib in Resources */ = {isa = PBXBuildFile; fileRef = D120194116B5FD87000B45F6 /* Calcolatrice.xib */; }; + D19592A416B4A441005B91FA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D19592A316B4A441005B91FA /* Cocoa.framework */; }; + D1B3D70516B57EA900070D03 /* Normale.m in Sources */ = {isa = PBXBuildFile; fileRef = D1B3D70216B57EA900070D03 /* Normale.m */; }; + D1B3D70616B57EA900070D03 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D1B3D70416B57EA900070D03 /* AppDelegate.m */; }; + D1B3D70E16B57EEA00070D03 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D1B3D70D16B57EEA00070D03 /* main.m */; }; + D1E70EC416B6E4D400D2FABB /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D1B3D70A16B57EE300070D03 /* InfoPlist.strings */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + D120194216B5FD87000B45F6 /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = Calcolatrice/it.lproj/Calcolatrice.xib; sourceTree = SOURCE_ROOT; }; + D120194416B5FD98000B45F6 /* Scientifica.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Scientifica.h; path = Calcolatrice/Scientifica.h; sourceTree = SOURCE_ROOT; }; + D120194516B5FD98000B45F6 /* Scientifica.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Scientifica.m; path = Calcolatrice/Scientifica.m; sourceTree = SOURCE_ROOT; }; + D120194916B5FE55000B45F6 /* Calcolatrice.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = Calcolatrice.entitlements; path = Calcolatrice/Calcolatrice.entitlements; sourceTree = SOURCE_ROOT; }; + D195929F16B4A441005B91FA /* Calcolatrice.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Calcolatrice.app; sourceTree = BUILT_PRODUCTS_DIR; }; + D19592A316B4A441005B91FA /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + D19592A616B4A441005B91FA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; + D19592A716B4A441005B91FA /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + D19592A816B4A441005B91FA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + D19592C116B4A441005B91FA /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; + D1B3D70116B57EA900070D03 /* Normale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Normale.h; path = Calcolatrice/Normale.h; sourceTree = SOURCE_ROOT; }; + D1B3D70216B57EA900070D03 /* Normale.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Normale.m; path = Calcolatrice/Normale.m; sourceTree = SOURCE_ROOT; }; + D1B3D70316B57EA900070D03 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Calcolatrice/AppDelegate.h; sourceTree = SOURCE_ROOT; }; + D1B3D70416B57EA900070D03 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Calcolatrice/AppDelegate.m; sourceTree = SOURCE_ROOT; }; + D1B3D70B16B57EE300070D03 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = Calcolatrice/it.lproj/InfoPlist.strings; sourceTree = SOURCE_ROOT; }; + D1B3D70D16B57EEA00070D03 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Calcolatrice/main.m; sourceTree = SOURCE_ROOT; }; + D1B3D71116B57EFF00070D03 /* Calcolatrice-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "Calcolatrice-Prefix.pch"; path = "Calcolatrice/Calcolatrice-Prefix.pch"; sourceTree = SOURCE_ROOT; }; + D1B3D71216B57F5300070D03 /* Calcolatrice-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Calcolatrice-Info.plist"; path = "Calcolatrice/Calcolatrice-Info.plist"; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + D195929C16B4A441005B91FA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D19592A416B4A441005B91FA /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + D195929416B4A441005B91FA = { + isa = PBXGroup; + children = ( + D19592A916B4A441005B91FA /* Calcolatrice */, + D19592A216B4A441005B91FA /* Frameworks */, + D19592A016B4A441005B91FA /* Products */, + ); + sourceTree = ""; + }; + D19592A016B4A441005B91FA /* Products */ = { + isa = PBXGroup; + children = ( + D195929F16B4A441005B91FA /* Calcolatrice.app */, + ); + name = Products; + sourceTree = ""; + }; + D19592A216B4A441005B91FA /* Frameworks */ = { + isa = PBXGroup; + children = ( + D19592A316B4A441005B91FA /* Cocoa.framework */, + D19592C116B4A441005B91FA /* SenTestingKit.framework */, + D19592A516B4A441005B91FA /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + D19592A516B4A441005B91FA /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + D19592A616B4A441005B91FA /* AppKit.framework */, + D19592A716B4A441005B91FA /* CoreData.framework */, + D19592A816B4A441005B91FA /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + D19592A916B4A441005B91FA /* Calcolatrice */ = { + isa = PBXGroup; + children = ( + D120194416B5FD98000B45F6 /* Scientifica.h */, + D120194516B5FD98000B45F6 /* Scientifica.m */, + D1B3D70116B57EA900070D03 /* Normale.h */, + D1B3D70216B57EA900070D03 /* Normale.m */, + D1B3D70316B57EA900070D03 /* AppDelegate.h */, + D1B3D70416B57EA900070D03 /* AppDelegate.m */, + D120194116B5FD87000B45F6 /* Calcolatrice.xib */, + D120194916B5FE55000B45F6 /* Calcolatrice.entitlements */, + D19592AA16B4A441005B91FA /* Supporting Files */, + ); + name = Calcolatrice; + path = Somma; + sourceTree = ""; + }; + D19592AA16B4A441005B91FA /* Supporting Files */ = { + isa = PBXGroup; + children = ( + D1B3D71216B57F5300070D03 /* Calcolatrice-Info.plist */, + D1B3D71116B57EFF00070D03 /* Calcolatrice-Prefix.pch */, + D1B3D70D16B57EEA00070D03 /* main.m */, + D1B3D70A16B57EE300070D03 /* InfoPlist.strings */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + D195929E16B4A441005B91FA /* Calcolatrice */ = { + isa = PBXNativeTarget; + buildConfigurationList = D19592D116B4A441005B91FA /* Build configuration list for PBXNativeTarget "Calcolatrice" */; + buildPhases = ( + D195929B16B4A441005B91FA /* Sources */, + D195929C16B4A441005B91FA /* Frameworks */, + D195929D16B4A441005B91FA /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Calcolatrice; + productName = Somma; + productReference = D195929F16B4A441005B91FA /* Calcolatrice.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D195929616B4A441005B91FA /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0500; + ORGANIZATIONNAME = Rnhmjoj; + }; + buildConfigurationList = D195929916B4A441005B91FA /* Build configuration list for PBXProject "Calcolatrice" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + it, + ); + mainGroup = D195929416B4A441005B91FA; + productRefGroup = D19592A016B4A441005B91FA /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + D195929E16B4A441005B91FA /* Calcolatrice */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + D195929D16B4A441005B91FA /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D1E70EC416B6E4D400D2FABB /* InfoPlist.strings in Resources */, + D120194816B5FDDA000B45F6 /* Calcolatrice.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + D195929B16B4A441005B91FA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D1B3D70516B57EA900070D03 /* Normale.m in Sources */, + D1B3D70616B57EA900070D03 /* AppDelegate.m in Sources */, + D1B3D70E16B57EEA00070D03 /* main.m in Sources */, + D120194616B5FD98000B45F6 /* Scientifica.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + D120194116B5FD87000B45F6 /* Calcolatrice.xib */ = { + isa = PBXVariantGroup; + children = ( + D120194216B5FD87000B45F6 /* it */, + ); + name = Calcolatrice.xib; + sourceTree = ""; + }; + D1B3D70A16B57EE300070D03 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + D1B3D70B16B57EE300070D03 /* it */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + D19592CF16B4A441005B91FA /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.8; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + D19592D016B4A441005B91FA /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.8; + SDKROOT = macosx; + }; + name = Release; + }; + D19592D216B4A441005B91FA /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = Calcolatrice/Calcolatrice.entitlements; + COMBINE_HIDPI_IMAGES = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Calcolatrice/Calcolatrice-Prefix.pch"; + INFOPLIST_FILE = "Calcolatrice/Calcolatrice-Info.plist"; + PRODUCT_NAME = Calcolatrice; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + D19592D316B4A441005B91FA /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = Calcolatrice/Calcolatrice.entitlements; + COMBINE_HIDPI_IMAGES = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Calcolatrice/Calcolatrice-Prefix.pch"; + INFOPLIST_FILE = "Calcolatrice/Calcolatrice-Info.plist"; + PRODUCT_NAME = Calcolatrice; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + D195929916B4A441005B91FA /* Build configuration list for PBXProject "Calcolatrice" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D19592CF16B4A441005B91FA /* Debug */, + D19592D016B4A441005B91FA /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D19592D116B4A441005B91FA /* Build configuration list for PBXNativeTarget "Calcolatrice" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D19592D216B4A441005B91FA /* Debug */, + D19592D316B4A441005B91FA /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = D195929616B4A441005B91FA /* Project object */; +} diff --git a/Calcolatrice.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Calcolatrice.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..ba50e0f --- /dev/null +++ b/Calcolatrice.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Calcolatrice.xcodeproj/project.xcworkspace/xcuserdata/Michele.xcuserdatad/UserInterfaceState.xcuserstate b/Calcolatrice.xcodeproj/project.xcworkspace/xcuserdata/Michele.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..a89aef49474721c7ed8dcccb69a6f7d77790a654 GIT binary patch literal 65992 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 NUtW*=@^RJn{{S*k#=HOk literal 0 HcmV?d00001 diff --git a/Calcolatrice.xcodeproj/project.xcworkspace/xcuserdata/Michele.xcuserdatad/WorkspaceSettings.xcsettings b/Calcolatrice.xcodeproj/project.xcworkspace/xcuserdata/Michele.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..28f6741 --- /dev/null +++ b/Calcolatrice.xcodeproj/project.xcworkspace/xcuserdata/Michele.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,22 @@ + + + + + BuildLocationStyle + UseAppPreferences + CustomBuildLocationType + RelativeToDerivedData + DerivedDataLocationStyle + Default + HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges + + IssueFilterStyle + ShowActiveSchemeOnly + LiveSourceIssuesEnabled + + SnapshotAutomaticallyBeforeSignificantChanges + + SnapshotLocationStyle + Default + + diff --git a/Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist new file mode 100644 index 0000000..05301bc --- /dev/null +++ b/Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -0,0 +1,5 @@ + + + diff --git a/Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcschemes/Somma.xcscheme b/Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcschemes/Somma.xcscheme new file mode 100644 index 0000000..b6ebc88 --- /dev/null +++ b/Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcschemes/Somma.xcscheme @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcschemes/xcschememanagement.plist b/Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..4544cd4 --- /dev/null +++ b/Calcolatrice.xcodeproj/xcuserdata/Michele.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,27 @@ + + + + + SchemeUserState + + Somma.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + D195929E16B4A441005B91FA + + primary + + + D19592BF16B4A441005B91FA + + primary + + + + + diff --git a/Calcolatrice/.DS_Store b/Calcolatrice/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..67f526987485f51fb3436aafb01617459e926e62 GIT binary patch literal 6148 zcmeHK&u`N(6n@@HNvO&S8f?Ag#-&t61-cuhD~AaQCKa&*LnCR!8k8kflTxHosYibP z9f+OxS8(Ql#2-^WJC8w|6(LPRX!5J<&vxGT?0k0YnutVW(78cWAR+@vV&(#}6HGpr zDP>FCk_QSE!zG_w+9#Xhl(%ls3TOrXHwEOko2R?f!>@^N_t*F9QklA2e%N;W(1DlS zBJLq!*P!+36#1W+2Xo9X@RrOXGuLPnyM#||3X#kGqE8-bE?uWB3g|i7%NUc7)`;TS zXyPG9yYd&&wh`GyJda+fi0%2e5??u5j-wS9j;)MH0mkYfNu>_B9;L@8YKVH7BN~cP z2B(M7g!E$8U+H=T|CL4l&M@lnJbZV0z8A%n$~UpJoH>_0ZL0l7a|ND}LelLXb)flOTifEhF^Ls|Y&kQ|G#&NxXBPhcXU z0u!p>D~3quXt&s}&NxXhp_Aathv1$C-%y0=9q}#YPNJTm&b0zsfmsEXlWIYp|M+vV z=>9)T(lxDsR^Uu2ATrHXvw>IQvo-Z{@~pLxo*_w-ev + +@interface AppDelegate : NSObject + +@property (assign) IBOutlet NSWindow *finestra1; +@property (assign) IBOutlet NSWindow *finestra2; + +- (IBAction) scambiaFinestre: (id) sender; +- (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) theApplication; +- (void) applicationDidFinishLaunching: (NSNotification *) aNotification; + +@end diff --git a/Calcolatrice/AppDelegate.m b/Calcolatrice/AppDelegate.m new file mode 100644 index 0000000..4a9a10c --- /dev/null +++ b/Calcolatrice/AppDelegate.m @@ -0,0 +1,30 @@ +#import "AppDelegate.h" + +@implementation AppDelegate + +- (void) applicationDidFinishLaunching: (NSNotification *) aNotification +{ + +} + +- (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) theApplication +{ + return YES; +} + +- (IBAction) scambiaFinestre: (id) sender +{ + switch([sender tag]){ + case 0:{ + [_finestra2 orderOut: self]; + [_finestra1 makeKeyAndOrderFront: self]; + } + case 1:{ + [_finestra1 orderOut: self]; + [_finestra2 makeKeyAndOrderFront: self]; + } + } + + +} +@end diff --git a/Calcolatrice/Calcolatrice-Info.plist b/Calcolatrice/Calcolatrice-Info.plist new file mode 100644 index 0000000..f5b9d40 --- /dev/null +++ b/Calcolatrice/Calcolatrice-Info.plist @@ -0,0 +1,36 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.Rnhmjoj.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSApplicationCategoryType + public.app-category.utilities + LSMinimumSystemVersion + ${MACOSX_DEPLOYMENT_TARGET} + NSHumanReadableCopyright + Copyright © 2013 Rnhmjoj. All rights reserved. + NSMainNibFile + Calcolatrice + NSPrincipalClass + NSApplication + + diff --git a/Calcolatrice/Calcolatrice-Prefix.pch b/Calcolatrice/Calcolatrice-Prefix.pch new file mode 100644 index 0000000..08114d1 --- /dev/null +++ b/Calcolatrice/Calcolatrice-Prefix.pch @@ -0,0 +1,3 @@ +#ifdef __OBJC__ + #import +#endif diff --git a/Calcolatrice/Calcolatrice.entitlements b/Calcolatrice/Calcolatrice.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/Calcolatrice/Calcolatrice.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/Calcolatrice/Normale.h b/Calcolatrice/Normale.h new file mode 100644 index 0000000..39a8dde --- /dev/null +++ b/Calcolatrice/Normale.h @@ -0,0 +1,16 @@ +#import + +@interface Normale : NSObject +{ + NSInteger operazioneCorrente; + NSNumber *numero1, *numero2; +} + +@property (retain) IBOutlet NSTextField *casella; + +- (IBAction) calcolaRisultato: (id) sender; +- (IBAction) cancellaCasella: (id) sender; +- (IBAction) inviaCifra: (id) sender; +- (IBAction) inviaOperazione: (id) sender; + +@end diff --git a/Calcolatrice/Normale.m b/Calcolatrice/Normale.m new file mode 100644 index 0000000..74a1210 --- /dev/null +++ b/Calcolatrice/Normale.m @@ -0,0 +1,62 @@ +#import "Normale.h" + +@implementation Normale + +@synthesize casella; + +- (IBAction) calcolaRisultato: (id)sender +{ + NSNumber *risultato; + NSString *risultatoInStringa; + numero2 = @([[casella stringValue] doubleValue]); + [self cancellaCasella:0]; + switch (operazioneCorrente) { + case 1:{ + risultato = @([numero1 doubleValue] / [numero2 doubleValue]); + break; + } + case 2:{ + risultato = @([numero1 doubleValue] * [numero2 doubleValue]); + break; + } + case 3:{ + risultato = @([numero1 doubleValue] - [numero2 doubleValue]); + break; + } + case 4:{ + risultato = @([numero1 doubleValue] + [numero2 doubleValue]); + break; + } + } + if(fmod([risultato doubleValue],1) == 0) + risultatoInStringa = [NSString stringWithFormat:@"%d", [risultato intValue]]; + else + risultatoInStringa = [NSString stringWithFormat:@"%f", [risultato doubleValue]]; + [casella setStringValue: risultatoInStringa]; +} + +- (IBAction) cancellaCasella: (id)sender +{ + [casella setStringValue: @"0"]; +} + +- (IBAction) inviaCifra: (id)sender +{ + if([sender tag] == 10) + [casella setStringValue: [[casella stringValue] stringByAppendingFormat:@"."]]; + else + [casella setStringValue: [[casella stringValue] stringByAppendingFormat:@"%ld", [sender tag]]]; + if([[casella stringValue] characterAtIndex:0] == '0' && isdigit([[casella stringValue] characterAtIndex:1])) + [casella setStringValue: [[casella stringValue] substringFromIndex:1]]; + +} + +- (IBAction) inviaOperazione: (id)sender +{ + numero1 = @([[casella stringValue] doubleValue]); + [casella setStringValue: @"0"]; + [self cancellaCasella:0]; + operazioneCorrente = [sender tag]; +} + +@end diff --git a/Calcolatrice/Scientifica.h b/Calcolatrice/Scientifica.h new file mode 100644 index 0000000..a7f3892 --- /dev/null +++ b/Calcolatrice/Scientifica.h @@ -0,0 +1,10 @@ +#import +#import "Normale.h" + +@interface Scientifica : Normale + +- (IBAction)operazioneScientifica:(id)sender; +- (IBAction)inviaCostante:(id)sender; +- (long) fattoriale: (int) n; + +@end diff --git a/Calcolatrice/Scientifica.m b/Calcolatrice/Scientifica.m new file mode 100644 index 0000000..d50d727 --- /dev/null +++ b/Calcolatrice/Scientifica.m @@ -0,0 +1,127 @@ +#import "Scientifica.h" +#import + +@implementation Scientifica + +@synthesize casella; + +- (IBAction) operazioneScientifica: (id) sender +{ + NSNumber *numero, *risultato; + NSString *risultatoInStringa; + numero = @([[casella stringValue] doubleValue]); + switch([sender tag]){ + case 0:{ + risultato = @(pow([numero doubleValue],2)); + break; + } + case 1:{ + risultato = @(pow([numero doubleValue],3)); + break; + } + case 2:{ + risultato = @(cos([numero doubleValue])); + break; + } + case 3:{ + risultato = @(sin([numero doubleValue])); + break; + } + case 4:{ + risultato = @(tan([numero doubleValue])); + break; + } + case 5:{ + risultato = @(1/[numero doubleValue]); + break; + } + case 6:{ + risultato = @(sqrt([numero doubleValue])); + break; + } + case 7:{ + risultato = @(cbrt([numero doubleValue])); + break; + } + case 8:{ + risultato = @(exp([numero doubleValue])); + break; + } + case 9:{ + risultato = @(log2([numero doubleValue])); + break; + } + case 10:{ + risultato = @(log10([numero doubleValue])); + break; + } + case 11:{ + risultato = @(log([numero doubleValue])); + break; + } + case 12:{ + risultato = @([self fattoriale: [numero doubleValue]]); + break; + } + } + if(fmod([risultato doubleValue],1) == 0) + risultatoInStringa = [NSString stringWithFormat:@"%d", [risultato intValue]]; + else + risultatoInStringa = [NSString stringWithFormat:@"%f", [risultato doubleValue]]; + [casella setStringValue: risultatoInStringa]; +} + +- (IBAction) calcolaRisultato:(id)sender +{ + NSNumber *risultato; + NSString *risultatoInStringa; + numero2 = @([[casella stringValue] doubleValue]); + [self cancellaCasella:0]; + switch (operazioneCorrente) { + case 1:{ + risultato = @([numero1 doubleValue] / [numero2 doubleValue]); + break; + } + case 2:{ + risultato = @([numero1 doubleValue] * [numero2 doubleValue]); + break; + } + case 3:{ + risultato = @([numero1 doubleValue] - [numero2 doubleValue]); + break; + } + case 4:{ + risultato = @([numero1 doubleValue] + [numero2 doubleValue]); + break; + } + case 5:{ + risultato = @(pow([numero1 doubleValue], [numero2 doubleValue])); + break; + } + } + if(fmod([risultato doubleValue],1) == 0) + risultatoInStringa = [NSString stringWithFormat:@"%d", [risultato intValue]]; + else + risultatoInStringa = [NSString stringWithFormat:@"%f", [risultato doubleValue]]; + [casella setStringValue: risultatoInStringa]; + +} + +- (IBAction) inviaCostante: (id) sender +{ + if([sender tag] == 0) + [casella setStringValue: [NSString stringWithFormat:@"%lf", M_PI]]; + else + [casella setStringValue: [NSString stringWithFormat:@"%lf", M_E]]; + +} + +- (long) fattoriale: (int) n +{ + if (n <= 1) + return 1; + else + return n * [self fattoriale: n-1]; +} + +@end diff --git a/Calcolatrice/it.lproj/.DS_Store b/Calcolatrice/it.lproj/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f735cd093a96870fe09738ace71d8ed8b2148ff7 GIT binary patch literal 6148 zcmeHKu}T9$5Pf4(1Z-kwxnCgo2TO=Wx`00*Q550GfzkdtKRbCdvx>(lSXsy$n0dEz z^LFoEadQK}R&Nj2z!JcM?ud5}Q}g@o6FX}eBhtCY79E~(z$>mM)!!$adw~u1ctk(q z`z|lsZI34$HeG+e>-rt5{ZVh|e0t1|M@E?xkOERb3P=Gd@OuTk_tF;UiHcG{3P^!Z z1^oL^=#I7FkQkp1h8O{ebEd<19kT?nc!F3P4vEarEUCn#S{pGe>CBf_R~rtANr%PB z+^3yvZ9=g)o%s^wu$rhS1*E`Ofmtq>-v51~{$c(fleCfoQs7@HVDt6udc{|2y>;?( w-fIi}j{ae+jdF%)#l&dETzD(K{8Cr^n)hqNAu;I82c4)N0oO$)1^z;T6Y^&nmjD0& literal 0 HcmV?d00001 diff --git a/Calcolatrice/it.lproj/Calcolatrice.xib b/Calcolatrice/it.lproj/Calcolatrice.xib new file mode 100644 index 0000000..264eb3f --- /dev/null +++ b/Calcolatrice/it.lproj/Calcolatrice.xib @@ -0,0 +1,889 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Calcolatrice/it.lproj/InfoPlist.strings b/Calcolatrice/it.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Calcolatrice/it.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Calcolatrice/main.m b/Calcolatrice/main.m new file mode 100644 index 0000000..f4866fa --- /dev/null +++ b/Calcolatrice/main.m @@ -0,0 +1,6 @@ +#import + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **)argv); +} diff --git a/License.txt b/License.txt new file mode 100644 index 0000000..fd55ebe --- /dev/null +++ b/License.txt @@ -0,0 +1,10 @@ + * Calcolatrice + * + * Calcolatrice standard e scientifica in Obj-c/Cocoa. + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * @author Michele Guerini Rocco aka Rnhmjoj + * @since 2012 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..820731a --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +Calcolatrice +============ + +Calcolatrice standard e scientifica in Obj-c/Cocoa +-------------------------------------------------- + +### Informazioni +Una semplice calcolatrice. +Primo tentativo di applicazione in Cocoa.