Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Introduction Please use CMake ( and not qmake ) when setting up your assignment projects. Qt Designer should not be used to design user interfaces,
Introduction
Please use CMake and not qmake when setting up your assignment projects.
Qt Designer should not be used to design user interfaces, and you are expected to manually set up GUIs to ensure that you properly handle memory using Qts parentchild functionality.
Good programming practices should be followed.
Follow standard naming conventions: class names start with a capital letter, variable and function names start with a lowercase letter, using camelCase for names made up of multiple words.
Ensure consistent code layout and use of blank lines. Use forward class declarations in header files.
Use initialiser lists in constructors.
Have proper GUI management: setting cursor focus, sequential tabbing, clearing input widgets like text input fields being cleared and spin boxes being returned to some default value and enabling and disabling buttons as appropriate.
Provide appropriate user feedback.
Your code should build and run without any warnings.
Questions
The UML. class diagram is an initial design of classes for a conference registration application.
There are three types of registration allowed for the conference: standard registration, student registration and invited guests registration. The standard registration fee is the standard fee stored in STANDARDFEE For those registered as students, the conference fee is half the price of the standard registration fee. For those registered as guests, the conference fee is of the standard registration fee.
An instance of RegistrationList contains a list of Registration No two registrations are allowed to have attendees with the same mail addresses, unless the names are different. You should be able to query a RegistrationList whether a person by the name is already registered for the conference. A RegistrationLis can also return the number of attendees that are registered for the conference from an institution. Similarly, you can request the total registration fees for a type Registration "StudentRegistration", "GuestRegistration" or Ar of registration. You are expected to use Qts metaobject system to access the type of a Registration in RegistrationList.
Write a GUI application that allows users to register for a conference. The GUI should display the current list of registrations, including the respective registration fees, in the RegistrationList at all times, using a table widget. The interface should also allow users to request and view the results of the various operations supported by the RegistrationList class.
You are allowed to add new features to the classes given in the UML diagram, although you are not allowed to delete or change the given functions. You can decide on the design of the GUI, and it can be done manually or using Qt Designer. You are expected to follow good programming principles.
Question
Extend the solution in Question to add another class named RegistrationListWriter that produces an XMLformatted RegistrationList using DOM as follows:Note: means data has to be filled in based on the Registration objects in the RegistrationList.
Modify the GUI in Question to give the user an option to save the registration list. Allow the user to choose the file, using the standard file dialog, where the XML formatted registration list should be saved.
Question
Add another class to Question named RegistrationListReader, that can parse the XML formatted asset list using SAX, and create and return a list of Registratio objects.
To test the RegistrationListReader class, modify the GUI in Question to allow the list of Registrations to be read in so that they can be appended to the RegistrationList maintained by the application. Note that the user can request to read in the XML formatted file when there are Registrations, or none, in the RegistrationList. Use the standard file dialog to assist the user in choosing the XML formatted file.
Question
Implement a factory class RegistrationFactory using the Factory method design pattern, which creates and returns a Registration based on an appropriate string argument and other arguments for initializing concrete Registration objects provided. Make the RegistrationFactory an implementation of the Singletor pattern.
Modify the solution in Question so that the parts of the solution that were creating concrete Registration objects based on the user input and RegistrationListReader are replaced by appropriate code to utilise the RegistrationFactory.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started