I have an app I have developed using native technologies across iOS, Android, and WP. I began porting over to C# using Xamarin and stumbled across MvvmCross. One of the core features of the app is a Group ListView with several different custom cell types.
Question #1: Does MvvmCross have a cross platform Group ListView control? I found this, but it appears to be only Android.
Question #2: Is there a way to do implicit template selection in MvvmCross? Right now the implementation of these ListViews is pretty different platform to platform. On WP, I found an example to do implicit template selection. Is something like this possible with MvxListView?
A few of the samples show how to use cell type selection. See:
polymorphic lists in https://github.com/slodge/MvvmCross-Tutorials/tree/master/Working%20With%20Collections
grouped lists in the session list views in https://github.com/slodge/MvvmCross-Tutorials/tree/master/Sample%20-%20CirriousConference - this is analysed in Creating UITable with section using Mono touch and slodge mvvmcross
a simple polymorphic list in the pet shop in https://github.com/slodge/MvvmCross-Tutorials/tree/master/MonoTouchCellTutorial
For more on available table source base classes see What class to inherit from for bound table source
For another user's ideas on grouped tables, also see their comments in mvvmcross MvxActionBasedTableViewSource as groupped table
Related
Fairly new at mobile automation (working as automation QA with no mobile development experience), and I am having trouble with finding and interacting with specific elements. Coming from Web and Selenium, I thought that it would be fairly easy to reference elements based on their parents and other defining features such as classes, id's, or simply order of appearance etc.
What I found while trying my hand at mobile automation is that the UI elements were not written by our developers to have any identifiers (issue has been raised to project management). At any time during use of the app during integration testing, there could be multiple Widgets that are of the same type; see below:
There are 4 TextFormField inside Form with no other distinct attributes other than Text: "*" (added as an InputDecoration in the .dart as I've seen it).
Until this particular screen, I have only ever dealt with elements that return exactly one match when using find.widgetWithText(TextFormField, "*")
How does one go about with interacting with the first until last field without any changes to the application and how the elements are named/identified?
You can define a unique key for each one, and then find using Find a widget with key
I have two Crud Controllers, Project & PurchaseOrders.
When I display a particular project content (say URL /project/2/show), its related purchase orders are displayed in table format in one of the tabs like picture below:
Since there will be a lot of purchase orders within same project, I need the table above to be filterable, like in the method SetupListOperation() in PurchaseOrders Controller like picture below:
Basically, how do I put PurchaseOrders Controller List Operation within a Project content Tab?
Thanks
In short, in Backpack version 4.x / 5.x, you can't. The ListOperation wasn't designed to be used that way, so it will be very difficult to do. It will be faster to just code that feature yourself, with a limited set of features - only the ones you need.
The main reason why it wouldn't be simple is that both the ListOperation and the CreateOperation / UpdateOperation would be using the CRUD singleton, whereas you need to show/manipulate entries in two different entities (projects and purchase orders).
The Backpack team is working on a feature that you could use for this (a "table" widget you can include anywhere, including there), but it will probably take 2-3 more months to launch.
Also, there's a Backpack add-on offering something similar (see https://github.com/izica/relations-widgets-for-backpack ) but it's meant for the Show operation (not Update) and it doesn't include filtering, from what I can tell.
So the best you can do, in my opinion, is to just add some rough filters to your custom view - they'll work just like you want, and when an official solution becomes available, you can use that then.
I wanna to use Camunda Modeler to create a complicated form cards for User Tasks consist about 20-30-50 fields divided in several tabs. Many cards will contain the same fields and fields groups. I wanna to have an ability to create and reuse fields groups or somewhat liked on fields groups. How can organize process with Modeler? What is the appropriate template? Or maybe you can recommend another tool?
I have a variant of template, but it's not clear for me now. The complicated form will be divided into several tabs. For example the card consists in 2 Tabs: Tab1 and Tab2. Then I can suppose that the card with active Tab1 is one state of the card, and the same card with active Tab2 - the another state. And then I can configure a scenario for each tab and transitions between tabs. Does it look believable?
Apparently, there are no standard solutions of such kind of issue. I'm going to make an integration form.io formBuilder into Camunda modeler instead standard form constructor. Maybe it looks madly, but I'm sure - it would be working. The formio has angular implementation of the constructor and modeler is based on the electron technologies. There are looks the same, and integration is not imagine as great headache. I hope. But I need a lot of time to do this.
We created our own framework with Scala / Play and Semantic-UI (Here you can use whatever technology you like).
You model the user form in the Camunda Modeler, using additional properties to describe the 'special' components, like File Upload, Field Grouping, Number Field, Radio Buttons etc.
We use then Play Templates / Semantic-UI to implement the generic Forms.
So in our implementation we use the defined properties to generate them in the Form.
So for example you can provide a property width. This value we use for the Semantic-UI layout which allows widths 1 to 16. So you have a simple possibility to have more than one component in one row.
I have a Wizard with two pages: pageone extending WizardNewProjectCreationPage, and pagetwo is extending WizardPage. I want the user to be able to create the project first, and then add files to the project on the second page.
For the latter I want to use a SWT Table (?) like when you pick an interface in the Java Class Wizard in Eclipse IDE (cf. picture here). Also the "Add" button next to it.
How can I achieve this? Do I have to use Eclipse Forms API for this? Or simply add a SWT Table? I have used the Plug-In Spy but the source code given in NewClassWizardPage and NewTypeWizardPage seems to be very specific to this example and I cannot make sense of it.
I've also had a look at vogella's tutorial for JFace table, but I can't get my head around it.
Just some basic steps would be great, or maybe somebody has done this before?
I can easily understand why you're confused... there are indeed many ways to do this. You even left out Data Binding which provides you with yet another way to populate and decorate the table in question.
To sum up the usage of the different APIs:
SWT provides the basic widgets and controls. Often these have a rather irregular low-level interface - especially compared with Swing - but you need to access the SWT controls to lay them out (an exercise that can be complicated in itself). Also many of the listeners are on the controls.
JFace provides a set of viewers on top of the corresponding structured SWT controls - e.g. TableViewer on top of Table. These viewers provides a high-level interface to the functionality of the underlying control - e.g. with models, label providers, sorting, filtering and more. (The viewers can easily be compared with the Swing counterparts...)
Eclipse Forms provides a (relatively) simple way to create views, dialogs, etc that looks like web pages. Examples of this are the various PDE editors.
Data Binding provides a (somewhat complicated) way to bind controls (including Tables) to a data structure (Bean, EMF or POJO based).
So... you have to decide on whether to use the model facet of JFace and Data Binding, but the rest of the APIs are often combined in the same view or dialog.
NewClassWizardPage and NewTypeWizardPage are both particular complicated examples of wizards - don't base your own work on these!
For your particular case - as I understand it - I would use a simple JFace TableViewer to hold the list of interfaces... (I use a TableViewer rather than a ListViewer as the later cannot have an image as part of the label provider.) The "Add" and "Remove" buttons will manipulate the model of the viewer and then update the viewer. You don't need Eclipse Forms as the wizards usually don't look like web pages. And Data Binding is also an overkill here given the very, very simple data for the wizard.
Please note that the function of a wizard is only performed after all the wizard pages has been shown and the "Finish" button is pressed.
Can you provide me a basic iPhone example which has the following;
a. It is primarily a navigation-based app (Top-level view, Detail view, etc)
b. It also uses table (to present list of items, item details, add, edit, delete)
c. It uses Core Data for storing the list items
d. Optionally, it would be really great if it uses an API for retrieving some of the table data (otherwise user entered if API does not return).
While I do have individual examples for all these thing, I ma basically looking for an example which kind of combines all these things into a single app.
I have already gone through some of the IOS developer reference and hence would want other combined examples.
Any reference examples would be highly appreciated.
Thanks a lot.
Have you looked through the iOS Sample Code library? You'll find examples of all these. They have TopSongs (API, Navigation Views, Table Views, Core Data) and CoreDataBooks for Core Data.
If you create a project using the Navigation based template and select "Use Core Data" you will get the skeleton of exactly the type of app you want.
Examples covering all of those are on Apple's developer website, developer.apple.com.
I used this one is one, to learn this: http://icodeblog.com/2008/08/19/iphone-programming-tutorial-creating-a-todo-list-using-sqlite-part-1/#create-db