iOSTable - Simple Settings

In Xcode, it is fairly trivial to setup some custom formats for a table.

Things like font, row height, show the frame rectangle, etc. I have not yet found how to get at those kinds of settings in Xojo iOS. The result is big rather ugly and clunky looking tables, when I need small and sleek. :slight_smile:

Anyone have any suggestions, or a pointer to or example of setting these types of things in Xojo?

Thanks,
-Paul

I use @jean-paul devulder 's dtPlugins and you can set the fonts, row heights, etc, as required. They are free to use: here’s a link to download them.

@jean-paul devulder dtPlugins for iOS are great, really! But Xojo said they will improve the iOS Part in the next big release and they really need to do so. Because in it’s current State with Xojo only, you can do most stuff only by using declares all over the place. Not very RAD-like. :slight_smile:

That’s not true. I need to Drag & Drop it from external not as any Xojo Control :wink:

Well once you have it in your project controls you can then :wink: ( from an ex Fliegerdeich inmate of the 60’s)

As long as i work just with this Project or make my own Template. They are not “like another Xojo Control” - just not true. I do not have a problem with using them as they are, but to say that they are “like another Xojo Control” is simply not true. :slight_smile:

:smiley: thumb_up

Did and since then i LOVE your work even more (before i did it, i thought it is not possible to love your work more than i do) :wink:

Thank you.

Wow! That is a comprehensive set of good stuff!

Now, if I can just figure out to make things like dtListView.SetFont(iOSFont.SmallSystemFontSize) work… (grin)

Is there a second download for the documentation? Once I get it working, I will go ahead and pay for support I think. Is that what you guys have done?

Thanks again - Paul

+1 and its great Jean-Paul changed his mind to release it again. :wink:

I paid for it back when Jean-Paul was selling it. Then a bit later Jean-Paul announced a support package so I paid for that too so as to support his work some more. I wouldn’t have an app in the App Store without Jean-Paul’s work.

Wow - I am blown away -thank you. I went ahead and paid for a year of support, and if all works out well, will make that a permanent support option next year.

Yours,-
Paul

Okay guys - I am really feeling stupid here. I just can’t seem to get an iosTable to do columns. I know I *should * be able to, but something won’t “click” in this mushy mass of oatmeal I use for a brain.

IN xCode, I would add a TableListView, and a TableListViewCell to it to get Prototypes, drag labels or whatever into the prototype area, create a custom class for the thingie, change the TableListView class to the new class, connect the IBOutlets to the new class, and construct a cell that fills in the data. All much harder to type than to do.

I am flummoxed trying to do the same thing in Xojo, and I am sure its my own ignorance causing the problem. It is not conceivable that one can not do the equivalent…

dtListView is also very cool, but I cannot figure it out with that to save my soul, even with examples. And of course, it doesn’t use cells, so my experience is not a plus there.

-Paul

iOSTable does not do columns at all. So stop feeling bad.

Xojo iOS does very little by itself.

dtListView does columns very nicely, but you may need a hand from other users, or from Jean-Paul Devulder. Consider buying his support. He has done an outstanding job, and never spared his efforts to help.

Oh, I already did, but I am not finding myself able to convert the Objective-C or Swift methods to the Xojo way…

Like I said, I am pretty sure it will do it, as a small data grid like display is probably the most common way to display queries in the world. It is probably just tunnel vision. No cells, no cells, no cells… :slight_smile:

Okay - here’s an example of what I want to do coded in Swift - excuse the crappy coding please. I just did this quickly as an example.

Custom class to handle the table cells

//
//  RLTableViewCell.swift
//  SP01XC
//
//  Created by Paul Raulerson on 5/16/16.
//  Copyright © 2016 RSEN. All rights reserved.
//

import UIKit

class RLTableViewCell: UITableViewCell {
    
    
    @IBOutlet weak var PayorNumber: UILabel!
    

    @IBOutlet weak var PayorName: UILabel!
    
    
    @IBOutlet weak var DebitBook: UILabel!
    

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

Code to fill the cells in…

 /// How many rows in this setion of the table
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return myStrings.count
        
    }
    
    
    // Essentially runs this the same number of rows, and sets up the default cells.
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> RLTableViewCell {
        
      
        let cell:RLTableViewCell = tableView.dequeueReusableCellWithIdentifier("RLTableViewCell") as! RLTableViewCell
        
        let aLine = myStrings[indexPath.row]
        cell.PayorName.text = (String(indexPath.row))
        cell.PayorNumber.text = "1234567"
        cell.DebitBook.text = "99999"
        
        return cell    }
    

Now how to get from this to there?


  me.SetCustomRowHeight(true) // active custom row height for each cell
  
  me.AddSection "Text section",dtListView.SectionType.DefaultSection
  
  me.AddRow "Row 0",0
  me.AddRow "Row 1",0
  me.AddRow "Row 2",0
  
  me.SetItemFont(new iOSFont("Arial",11),0,0)
  
  me.SetDetail(0,0,"detail text...")
  
  me.SetDetailFont(new iOSFont("Arial",11),0,0)
  
  me.SetDetail(1,0,"hello")
  
  me.SetDetail(2,0,"")
  
  me.SetDetailColor(0,0,&c00008000)
  
  me.SetDetailColor(2,0,&cFF000000)
  
  me.AddSection "Images Demo",dtListView.SectionType.ImageSection
  
  me.AddRow "image 0",1
  me.AddRow "image 1",1
  me.AddRow "image 2",1
  me.AddRow "image 3",1
  me.AddRow "image 4",1
  
  me.SetTagImage(1,0,pic_1)
  me.SetTagImage(1,1,pic_2)
  me.SetTagImage(1,2,pic_3)
  me.SetTagImage(1,3,pic_4)
  me.SetTagImage(1,4,pic_5)
  
  me.SetFont(new iOSFont("Courier",15))

Yeah, the plugins from jean-pail deluder are awesome !

Still, I hope 2016r2 will have finally a good (read: usable) iOSTable (fully customisable cells with any iOS control etc…) :slight_smile:

At this very moment, unless something exceptional comes out of 2016R2 which is not visible yet, you are probably better off with XCode for what you want to achieve.

As you will soon find out, Xojo iOS is EXTREMELY limited, and trying to get it up to par with XCode is like trying to win Nascar with a Pinto. Even with dtPLugins, this is WAY underpowered.

Yep - I am feeling that your thinking is spot on here.

Very simple iOS apps are easy peasy to create in Xojo, including networking, files, and SQLite.

But getting the app to a more professional looking level is significantly more difficult I guess.

For me, since I already know Xcode, it does seem to be easier to just code in Xcode with Swift or Objective-C right now. One of things that Xojo excels at on MacOS or Windows is just “getting out of your way.”

Maybe it will take another release or two to get there for iOS. It sure is a bit of a pain to have to drag in all the defines and figure out how to make 'em work. Also, they seem to be difficult to archive and sign for an enterprise release.

On the bright side however, Xojo seems to restrain themselves from unreasonably long, difficult to remember names, such as what it takes to do a substring in Swift V2.2. Or the irritating removal of auto increment operators. (i.e. ++, --)

The hallmark of programmers who graduated in the early 2000’s, even if it does make handling Chinese much easier… (grin)

And there is always the next Xojo release to look forward to!

Thanks
-Paul